05:52

100% sabiko. Please, hug, hold, feed, care for.
кто-то когда-то просил меня не кидать записи клиентом.. посему флужу всеми сразу за сегодня и сейчас.

5 апреля



"Долой совок!" - доносится ко мне порой через стенку. Через стенку ко мне вообще слишком много всего доносится. Но это, я знаю, реклама икеи, в которой я ни разу не была.

Совок, конечно, несмотря на все ностальгические воспоминания, это оч-чень плохо. Взять, хотя бы, наш книшный, который рядом со школой, на гражданке. Там ведь можно было брать в руки только что потрёпаное такое, в деревянных ящичках на прилавке стояло. А так - лишь "извините, а можно ли посмотреть.." И только попробуй смотреть много, да тем паче потом ещё ничего и не купить.

Разглядывали обложки.



Теперь в диком мире так много всего, что можно собирать в своей памяти по лоскутьям. Вот то кафе, и этот дом, и высокий мост, и тот, помнишь, день.

Мир-вокруг-меня сразу становится слепленно-ненастоящим, что твоя книжка.

Если бы идти на неквалифицированную работу от звонка до звонка, я бы пошла немножко в кофейню - предсталяете, много-много часов в какой-нибудь идеальной чашке, а тебя не только не выгоняют, но ещё и деньги дают посыпать корицей густые сливки, или в книжный. Я уже потеряла счёт - столько раз меня в буквоеде за продавца принимали, даже ведь находила им требуемое - от таблицы неправильных глаголов до глупых эзотерических книжек - почти всегда.



После недавнего ознакомления сначала с авелем триблядистом, а потом - с любовью всей анюткиной жизни, оная же очередные недопокемоны, поняла, что для моего искреннего сопереживания, живого сочувствия и прочей симпатии - персонажу достаточто иметь пустой кошелёк и не иметь возможности оплатить даже коммунальные счета. На самом-то деле сопереживание сие дюже нечестно - меня кормят, квартиру-электричество оплачивают, даже проездной у меня есть - так что без всяких непредвиденных расходов (кина-книшки-консерты-шоколад и прочая) я могу неделями проходить с тремя рублями в кармане, не ощущая при этом особого дискомфорта. С ними и ходила.

Но вчера вдруг-вдруг-вдруг по дороге из института нашла на дне сумке четыре бумажные десятки. Может, подложил кто? Хотя это сумка, скорее; она с пространственными карманами пропавших монет, бумажных платков и и пакетиков сахара.



Теперь магазины другие. Книжки можно брать в руки, можно читать от корки до корки. Часами-часами-полднями. Целыми вечерами, или всю ночь, ежели вдруг на метро опоздал. Только плата очень странная - решиться обменять свои неожиданно обретённые сорок российских флоринов на одиннадцать дециграмм горячего чёрного кофе.

Но мне почти не жалко - я слишком часто сидела у них за просто так, и злые дяди из обоих магазинов меня верно, уже запомнили, и ещё я люблю эти сливки - дома их у меня не бывает - не взбивать же каждый раз, право слово.



Ну а потом можно сидеть, слизывать тёмную горькую пену с и читать

________________

зы.

Это всё было так давно, что с тех пор там же дочитался и замок, и прочия. Замок всё-таки прекрасен, хотя и совершенно по-другому. Миядзаковское и исходный текст - два слабосвязанных между собой, почитай что отдельных худ. произверения. Прекрасны оба)

@темы: закорючки

Комментарии
06.05.2006 в 10:02

100% sabiko. Please, hug, hold, feed, care for.
Dim chN As Integer

Dim phPrnt As Integer

Dim prtd As Integer

Dim tbCnt As Integer



Function convColor(vbColor As Long)

Dim tmp As String

tmp = Right(Hex(vbColor), 6)

tmp = String(6 - Len(tmp), "0") & tmp

convColor = Mid(tmp, 5, 2) + Mid(tmp, 3, 2) + Mid(tmp, 1, 2)

End Function



Public Sub compareStyles(ByRef Fnt1 As font, ByRef Fnt2 As font, ByRef mFnt As font, chN As Integer)

If Fnt1.Bold <> Fnt2.Bold Or (chN = 1 And Fnt1.Bold <> mFnt.Bold) Then

If Fnt2.Bold = True Then

Print #7, "<b>";

Else

Print #7, "</b>";

End If

End If

If Fnt1.Italic <> Fnt2.Italic Or (chN = 1 And Fnt1.Italic <> mFnt.Italic) Then

If Fnt2.Italic = True Then

Print #7, "<i>";

Else

Print #7, "</i>";

End If

End If

If Fnt1.Underline <> Fnt2.Underline Or (chN = 1 And Fnt1.Underline <> mFnt.Underline) Then

If Fnt2.Underline <> wdUnderlineNone Then

Print #7, "<u>";

Else

Print #7, "</u>";

End If

End If

If Fnt1.name <> Fnt2.name Or (chN = 1 And Fnt1.name <> mFnt.name) Then

If Fnt2.name <> mFnt.name Then

Print #7, "<font style=""" & Fnt2.name & """>";

Else

Print #7, "</font>";

End If

End If

If Fnt1.color <> Fnt2.color Or (chN = 1 And Fnt1.color <> mFnt.color) Then

If Fnt2.color <> mFnt.color Then

Print #7, "<font color=""" & convColor(Fnt2.color) & """>";

Else

Print #7, "</font>";

End If

End If

If Fnt1.Size <> Fnt2.Size Or (chN = 1 And Fnt1.Size <> mFnt.Size) Then

If Fnt2.Size <> mFnt.Size Then

Print #7, "<font style=""font-size:" & Fnt2.Size & "pt"">";

Else

Print #7, "</font>";

End If

End If



End Sub



Public Function weirdCh(ByRef ph As Paragraph) As Boolean

For i = 1 To ph.Range.Characters.count - 1

Set Fnt1 = ph.Range.Characters(i).font

Set Fnt2 = ph.Range.Characters(i + 1).font

If Fnt1.Bold <> Fnt2.Bold Or Fnt1.Italic <> Fnt2.Italic Or _

Fnt1.Underline <> Fnt2.Underline Or Fnt1.name <> Fnt2.name Or _

Fnt1.color <> Fnt2.color Or Fnt1.Size <> Fnt2.Size Then

weirdCh = True

Exit Function

End If

Next i

weirdCh = False

End Function



Public Function styleIndex(ByRef style As style) As Integer

Dim stlN As Integer

stlN = 0

For Each styleLoop In ActiveDocument.Styles

If styleLoop.InUse = True Then

With ActiveDocument.Content.Find

.ClearFormatting

.text = ""

.style = styleLoop

.Execute Format:=True

If .Found = True Then

stlN = stlN + 1

If styleLoop.NameLocal = style.NameLocal Then

styleIndex = stlN

End If

End If

End With

End If

Next styleLoop

End Function



Public Function sIndex(ByRef style As style) As Integer

For i = 1 To ActiveDocument.Styles.count

If ActiveDocument.Styles(i).NameLocal = style.NameLocal Then

sIndex = i

End If

Next i

End Function



Public Sub print_ph(parag As Paragraph, LPhs As Integer)

Set MyRange = parag.Range

k = sIndex(MyRange.style)

Print #7, "<div class=style" & styleIndex(MyRange.style);

If parag.FirstLineIndent <> 0 Or parag.LeftIndent <> 0 Or MyRange.Characters.count = 1 Then

Print #7, " style=""";

If parag.FirstLineIndent <> 0 Or parag.LeftIndent Then

Print #7, "margin-left:" & Round(parag.LeftIndent) & _

"; text-indent:" & Round(parag.FirstLineIndent) & ";";

End If

If MyRange.Characters.count = 1 Then

Print #7, "height:1pt";

End If

If ActiveDocument.Paragraphs(phPrnt).SpaceAfter > 0 Or ActiveDocument.Paragraphs(phPrnt).SpaceBefore Then

Print #7, "padding-top:" & ActiveDocument.Paragraphs(phPrnt).SpaceBefore & _

"; padding-bottom:" & ActiveDocument.Paragraphs(phPrnt).SpaceAfter;

End If

Print #7, """";

End If

Print #7, ">";

If LPhs <> 0 Then

Print #7, LPhs & ". "

End If

If weirdCh(parag) Then

Dim j As Integer

For j = 1 To MyRange.Characters.count - 1

Print #7, MyRange.Characters(j);

Call compareStyles(MyRange.Characters(j).font, MyRange.Characters(j + 1).font, _

ActiveDocument.Styles(k).font, j)

Next j

Else

Print #7, MyRange;

End If

Print #7, "</div>"

phPrnt = phPrnt + 1

End Sub



Public Function lists_par(ph As Paragraph) As Boolean

For i = 1 To ActiveDocument.Lists.count

If ActiveDocument.Lists(i).ListParagraphs(1).Range = ph.Range Then

Dim LPhs As Integer

LPhs = 1

While LPhs <= ActiveDocument.Lists(i).ListParagraphs.count

If ActiveDocument.Lists(i).ListParagraphs(LPhs).Range = _

ActiveDocument.Paragraphs(phPrnt).Range Then

Call print_ph(ActiveDocument.Paragraphs(phPrnt), LPhs)

LPhs = LPhs + 1

Else

Call print_ph(ActiveDocument.Paragraphs(phPrnt), 0)

End If

Wend

lists_par = True

Exit Function

End If

Next i

lists_par = False

End Function

Public Sub cr_css()

Open "C:\style.css" For Output As #5

Dim stlN As Integer

stlN = 0

Print #5, "body {margin:" & Round(ActiveDocument.PageSetup.TopMargin) & "px " & _

Round(ActiveDocument.PageSetup.LeftMargin) & "px}"

If ActiveDocument.Tables.count > 0 Then

Print #5, "table {border-collapse:collapse}"

Print #5, "td {border: 1px solid black}"

End If

For Each styleLoop In ActiveDocument.Styles

If styleLoop.InUse = True Then

With ActiveDocument.Content.Find

.ClearFormatting

.text = ""

.style = styleLoop

.Execute Format:=True

If .Found = True Then

Print #5, "/*"; styleLoop.NameLocal; "*/"

stlN = stlN + 1

Print #5, ".style" & stlN; "{font:";

If styleLoop.font.Bold Then

Print #5, " bold ";

End If

If styleLoop.font.Italic Then

Print #5, " italic ";

End If

Print #5, styleLoop.font.Size & "pt "; styleLoop.font.name; "; color:#" & _

convColor(styleLoop.font.color); ";}"

End If

End With

End If

Next styleLoop

Close #5



End Sub



Public Function count_phs(k As Integer, level As String) As Integer

If k <= ActiveDocument.Paragraphs.count Then

Dim phs, temp As Integer

phs = 0

temp = k

While ActiveDocument.Paragraphs(temp).OutlineLevel >= level And temp < ActiveDocument.Paragraphs.count

If ActiveDocument.Paragraphs(temp).OutlineLevel = level Then

phs = phs + 1

End If

temp = temp + 1

Wend

count_phs = phs

End If

End Function

Public Function rnd(k As Currency) As Integer

'Print #7, "<font color=#ff0000>" & k & "$$" & Round(k) & "</font>";

If Round(k) > k Then

rnd = Round(k) - 1

Else

rnd = Round(k)

End If

End Function



Public Sub write_tb(numb As Integer)

Print #7, "<table>"

Dim k As Integer

Dim n_rw As Integer

Dim wd As Integer

Dim f As Integer

Dim colspan As Integer

Set tb = ActiveDocument.Tables(tbCnt)

k = 0

n_rw = 0

For i = 1 To tb.Rows.count

If k < tb.Rows(i).Cells.count Then

k = tb.Rows(i).Cells.count

n_rw = i

End If

Next i

For i = 1 To ActiveDocument.Tables(tbCnt).Rows.count

Print #7, "<tr height=" & ActiveDocument.Tables(tbCnt).Rows(i).Height & ">"

f = 1

For j = 1 To ActiveDocument.Tables(tbCnt).Rows(i).Cells.count

If f <= k Then

colspan = 1

wd = rnd(tb.Rows(n_rw).Cells(f).Width)

' Print #7, tb.Rows(n_rw).Cells(f).Width & "$$" & tb.Rows(i).Cells(j).Width

While rnd(tb.Rows(i).Cells(j).Width) > wd

colspan = colspan + 1

wd = 0

For n = f To colspan + f - 1

' Print #7, n, f, n_rw, colspan

wd = wd + rnd(tb.Rows(n_rw).Cells(n).Width)

Next n

Wend

f = f + colspan

Print #7, "<td";

If i = n_rw Then

Print #7, " width = " & ActiveDocument.Tables(tbCnt).Rows(i).Cells(j).Width * 1.5;

End If

If colspan > 1 Then

Print #7, " colspan=" & colspan;

End If

Print #7, ">";

For p = 1 To ActiveDocument.Tables(tbCnt).Rows(i).Cells(j).Range.Paragraphs.count

Call print_ph(ActiveDocument.Paragraphs(phPrnt), 0)

Next p

' Print #7, rnd(tb.Rows(i).Cells(j).Width)

' Print #7, k, f, n_rw

Print #7, "</td>"

End If

Next j



phPrnt = phPrnt + 1

Print #7, "</tr>"

Next i

'For i = 1 To ActiveDocument.Tables(tbCnt).Rows.count

' For j = 1 To ActiveDocument.Tables(tbCnt).Rows(i).Cells.count

' Print #7, tb.Rows(i).Cells(j).Width

' Next j

' Print #7, "<br>"

' Next i

Print #7, "</table>"

tbCnt = tbCnt + 1

End Sub



Public Sub move_text(name As String)

Dim s As String

prtd = phPrnt

s = ActiveDocument.Paragraphs(phPrnt).OutlineLevel

While phPrnt <= prtd + count_phs(phPrnt, s) And phPrnt <= ActiveDocument.Paragraphs.count

If phPrnt < ActiveDocument.Paragraphs.count Then

If ActiveDocument.Paragraphs(phPrnt + 1).OutlineLevel > s Then

Print #7, "<a href="""">"

Call print_ph(ActiveDocument.Paragraphs(phPrnt), 0)

Print #7, "</a>"

Call move_text(name)

Else

If Not lists_par(ActiveDocument.Paragraphs(phPrnt)) Then

If ActiveDocument.Paragraphs(phPrnt).Range.Information(wdWithInTable) = True Then

Call write_tb(phPrnt)

Else

s = ActiveDocument.Paragraphs(phPrnt).OutlineLevel

Call print_ph(ActiveDocument.Paragraphs(phPrnt), 0)

End If

End If

End If

Else

If phPrnt <= ActiveDocument.Paragraphs.count Then

Call print_ph(ActiveDocument.Paragraphs(phPrnt), 0)

End If

End If

Wend

prtd = phPrnt

End Sub



Sub htmlcr()



Open "C:\conv.html" For Output As #7

phPrnt = 1

tbCnt = 1



Call cr_css

Print #7, "<html><head><link rel=""stylesheet"" href=""style.css"" type=""text/css"">" & _

"<title>"; ActiveDocument.name; "</title></head><body>"

Call move_text(0)

Print #7, "</html></body>"



Close #7



End Sub





06.05.2006 в 21:09

Госпожа Старшая Кошка
кто просил? это он зря. уж лучше клиентом, пока актуально, чем потом ходить по посту, как по палеонтологическому музею.
08.05.2006 в 06:42

100% sabiko. Please, hug, hold, feed, care for.
Ульса, нет, я не в этом смысле)

Это знаешь как делается - в системе меняется дата, и клиетном отправляется за месяц назад. я его в основном для того и пользую.

Мимо флент, запись, вестимо, пролетает со свистом. В общем, я даже и не знаю, как лучше.
08.05.2006 в 13:37

Госпожа Старшая Кошка
Сабико, мда. страшное дело.

Расширенная форма

Редактировать

Подписаться на новые комментарии