100% sabiko. Please, hug, hold, feed, care for.
кто-то когда-то просил меня не кидать записи клиентом.. посему флужу всеми сразу за сегодня и сейчас.
5 апреля
"Долой совок!" - доносится ко мне порой через стенку. Через стенку ко мне вообще слишком много всего доносится. Но это, я знаю, реклама икеи, в которой я ни разу не была.
Совок, конечно, несмотря на все ностальгические воспоминания, это оч-чень плохо. Взять, хотя бы, наш книшный, который рядом со школой, на гражданке. Там ведь можно было брать в руки только что потрёпаное такое, в деревянных ящичках на прилавке стояло. А так - лишь "извините, а можно ли посмотреть.." И только попробуй смотреть много, да тем паче потом ещё ничего и не купить.
Разглядывали обложки.
Теперь в диком мире так много всего, что можно собирать в своей памяти по лоскутьям. Вот то кафе, и этот дом, и высокий мост, и тот, помнишь, день.
Мир-вокруг-меня сразу становится слепленно-ненастоящим, что твоя книжка.
Если бы идти на неквалифицированную работу от звонка до звонка, я бы пошла немножко в кофейню - предсталяете, много-много часов в какой-нибудь идеальной чашке, а тебя не только не выгоняют, но ещё и деньги дают посыпать корицей густые сливки, или в книжный. Я уже потеряла счёт - столько раз меня в буквоеде за продавца принимали, даже ведь находила им требуемое - от таблицы неправильных глаголов до глупых эзотерических книжек - почти всегда.
После недавнего ознакомления сначала с авелем триблядистом, а потом - с любовью всей анюткиной жизни, оная же очередные недопокемоны, поняла, что для моего искреннего сопереживания, живого сочувствия и прочей симпатии - персонажу достаточто иметь пустой кошелёк и не иметь возможности оплатить даже коммунальные счета. На самом-то деле сопереживание сие дюже нечестно - меня кормят, квартиру-электричество оплачивают, даже проездной у меня есть - так что без всяких непредвиденных расходов (кина-книшки-консерты-шоколад и прочая) я могу неделями проходить с тремя рублями в кармане, не ощущая при этом особого дискомфорта. С ними и ходила.
Но вчера вдруг-вдруг-вдруг по дороге из института нашла на дне сумке четыре бумажные десятки. Может, подложил кто? Хотя это сумка, скорее; она с пространственными карманами пропавших монет, бумажных платков и и пакетиков сахара.
Теперь магазины другие. Книжки можно брать в руки, можно читать от корки до корки. Часами-часами-полднями. Целыми вечерами, или всю ночь, ежели вдруг на метро опоздал. Только плата очень странная - решиться обменять свои неожиданно обретённые сорок российских флоринов на одиннадцать дециграмм горячего чёрного кофе.
Но мне почти не жалко - я слишком часто сидела у них за просто так, и злые дяди из обоих магазинов меня верно, уже запомнили, и ещё я люблю эти сливки - дома их у меня не бывает - не взбивать же каждый раз, право слово.
Ну а потом можно сидеть, слизывать тёмную горькую пену с и читать
________________
зы.
Это всё было так давно, что с тех пор там же дочитался и замок, и прочия. Замок всё-таки прекрасен, хотя и совершенно по-другому. Миядзаковское и исходный текст - два слабосвязанных между собой, почитай что отдельных худ. произверения. Прекрасны оба)
5 апреля
"Долой совок!" - доносится ко мне порой через стенку. Через стенку ко мне вообще слишком много всего доносится. Но это, я знаю, реклама икеи, в которой я ни разу не была.
Совок, конечно, несмотря на все ностальгические воспоминания, это оч-чень плохо. Взять, хотя бы, наш книшный, который рядом со школой, на гражданке. Там ведь можно было брать в руки только что потрёпаное такое, в деревянных ящичках на прилавке стояло. А так - лишь "извините, а можно ли посмотреть.." И только попробуй смотреть много, да тем паче потом ещё ничего и не купить.
Разглядывали обложки.
Теперь в диком мире так много всего, что можно собирать в своей памяти по лоскутьям. Вот то кафе, и этот дом, и высокий мост, и тот, помнишь, день.
Мир-вокруг-меня сразу становится слепленно-ненастоящим, что твоя книжка.
Если бы идти на неквалифицированную работу от звонка до звонка, я бы пошла немножко в кофейню - предсталяете, много-много часов в какой-нибудь идеальной чашке, а тебя не только не выгоняют, но ещё и деньги дают посыпать корицей густые сливки, или в книжный. Я уже потеряла счёт - столько раз меня в буквоеде за продавца принимали, даже ведь находила им требуемое - от таблицы неправильных глаголов до глупых эзотерических книжек - почти всегда.
После недавнего ознакомления сначала с авелем триблядистом, а потом - с любовью всей анюткиной жизни, оная же очередные недопокемоны, поняла, что для моего искреннего сопереживания, живого сочувствия и прочей симпатии - персонажу достаточто иметь пустой кошелёк и не иметь возможности оплатить даже коммунальные счета. На самом-то деле сопереживание сие дюже нечестно - меня кормят, квартиру-электричество оплачивают, даже проездной у меня есть - так что без всяких непредвиденных расходов (кина-книшки-консерты-шоколад и прочая) я могу неделями проходить с тремя рублями в кармане, не ощущая при этом особого дискомфорта. С ними и ходила.
Но вчера вдруг-вдруг-вдруг по дороге из института нашла на дне сумке четыре бумажные десятки. Может, подложил кто? Хотя это сумка, скорее; она с пространственными карманами пропавших монет, бумажных платков и и пакетиков сахара.
Теперь магазины другие. Книжки можно брать в руки, можно читать от корки до корки. Часами-часами-полднями. Целыми вечерами, или всю ночь, ежели вдруг на метро опоздал. Только плата очень странная - решиться обменять свои неожиданно обретённые сорок российских флоринов на одиннадцать дециграмм горячего чёрного кофе.
Но мне почти не жалко - я слишком часто сидела у них за просто так, и злые дяди из обоих магазинов меня верно, уже запомнили, и ещё я люблю эти сливки - дома их у меня не бывает - не взбивать же каждый раз, право слово.
Ну а потом можно сидеть, слизывать тёмную горькую пену с и читать
________________
зы.
Это всё было так давно, что с тех пор там же дочитался и замок, и прочия. Замок всё-таки прекрасен, хотя и совершенно по-другому. Миядзаковское и исходный текст - два слабосвязанных между собой, почитай что отдельных худ. произверения. Прекрасны оба)
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
Это знаешь как делается - в системе меняется дата, и клиетном отправляется за месяц назад. я его в основном для того и пользую.
Мимо флент, запись, вестимо, пролетает со свистом. В общем, я даже и не знаю, как лучше.