Stevendall

Вопросы по программированию.

Recommended Posts

А зачем в винформе такой изврат?

:)

Хочется подать рядовому уживателю на его запрос для вывода на печать текст с НАВОРОТАМИ (табличками, колонками, картинками), а RichTextBox в этом отношении не такой извращённый - только цвета да канва есть.

 

А таблички как наворотить? С RTF-файла (на то он и RичTекстFайл) даже картинки в этот Бокс загоняются, но ведь сделать такие динамично, наверное, будет ещё большим ухильством. Я даже не знаю, возможно ли такое извращение.

 

А ещё, если динамично создать несколько HTMLов да связать их взаимными ссылками, вот это будет полный разврат! :lol:

 

Не... Это ещё не разврат. Разврат будет, когда туда ещё и JavaScript динамично всунуть. Для такого разврата Microsoft, наверное, не так плохо воспитан. :huh:

Upraveno uživatelem Stevendall

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky
текст с НАВОРОТАМИ (табличками, колонками, картинками)

Ну значится, ВАМ БАТЕНЬКА, учить матчасть.

МСДН - ваш дом на ближайшее время.

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

IMHO.

Для того чтобы напечатать текст с табличками и т.д. его надо переформатировать в зависимости от принтера/бумаги/пользователя и т.п. Кто это будет делать?

не проше ли эту всю красоту запихнуть в картинку и печатать только ее?

или использовать готовый шаблон ( для уже известного наполнения ) а остальное дописывать?

 

еще гдето HTMLView был.

Upraveno uživatelem testtest

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

Итак, после прохождения курса молодого бойца в Windows Forms, почти не осталось белых пятен (кроме одного, но существенного).

 

Попоряку. Не могу провернуть алгоритм, очень легко реализовывавшийся ранее, в до.NETфреймворксовское время, - запись/чтение типизированного файла.

 

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

 

Конкретно.

Создаю поле-структуру

struct TBC
{
    public String textBtn;        // T
    public Rectangle boundsBtn;    // B
    public Color colorBtn;        // C
}

Не надо искать целесообразности в этой конкретной структуре. Создана она наобум, чтоб на нёй экспериментировать.

 

Для записи переменной типа TBC в файл делаю, как книжка пишет:

void SaveTBC(TBC tbc)
{
    FileStream potokFile = new FileStream("myFile.tbc", FileMode.Append, FileAccess.Write);
    BinaryWriter potokBW = new BinaryWriter(potokFile);
        // Белое пятно
    potokBW.Close();
    potokFile.Close();
}

На место белого пятна можно, конечно, написать:

potokBW.Write(tbc.textBtn + tbc.boundsBtn.ToString() + tbc.colorBtn.ToString());

Потом, конечно, при считывании из файла, можно этот бред и расшифровать. Но это не то. Я хочу реализовать что-то типа potokBW.Write(tbc), чтоб одним махом и всё.

 

Вот что советует по этому поводу Книжка:

tbc.Write(potokBW)

с оговоркой (в переводе на мою TBC):

Off я понимаю, что у меня не класс(třida), а структура, но в голове такая каша, что если даже поменять класс на структуру, то всё равно ничего не понимаю. А потом, я не хочу сохранять в файле целый класс (что и невозможно). Я хочу сохранить только переменную типа TBC. EndOff

 

Так вот, Книжка пишет:

U vlastnosti tbc se ale musi zavolat obdobná metoda Write, kterou jste implementovali do třídy TBC a předa se do ní jako argument object BinaryWriter.

Charles Petyold, Programming Microsoft Windows with C# (перевод на чешский), Dodatek А, str. 550

 

Во-первых, я ничего никуда не имплемепемилипиторововывал, так как у меня ступор, а это уже во-вторых.

 

Короче, как по-человечески записать переменную СВОЕГО типа в типизированый файл, ну или хотя бы в его подобие?

 

А потом, как её считать оттуда? Советы Книжки в том же духе:

static TBC LoadTBC()
{
    FileStream potokFile = new FileStream("myFile.tbc", FileMode.Open, FileAccess.Read);
    BinaryReader potokBR = new BinaryReader(potokFile);
    TBC tbc = tbc.Read(potokBR); // тоже с посылом на obdobnu staticku metodu Read
    potokBR.Close();
    potokFile.Close();
    return tbc;
}

 

Бобик сдох. :wacko:

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

;) Стив, ты маньяк.Ну да ладно, это временное состояние.

Тыкай мышей и иди в фак.

 

Может ВБ-шный код будет полегче?

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim MyString As String

Dim ReadString As String

Dim iFr As Short

iFr = FreeFile()

ReadString = CurDir() & "\test.txt"

FileOpen(iFr, 1, OpenMode.Binary)

MyString = "new information"

FilePut(MyString)

FileClose(iFr)

End Sub

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As_

System.EventArgs) Handles Button2.Click

Dim MyString As String

Dim ReadString As String

Dim iFr As Short

iFr = FreeFile()

ReadString = CurDir() & "\test.txt"

FileOpen(iFr, ReadString, OpenMode.Binary)

MyString = New String(" "c, 15)

FileGet(iFr, MyString)

FileClose(iFr)

MsgBox(MyString)

End Sub

И ещё, Стив.

File Access Functions!

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

Сделайте класс ТБЦ.

добавьте туда две функции Write( BinaryWriter bw ) i Read( BinaryReader br )

в этих функциях и читайте/записывайте свои данные.

 

или посмотрите как работает Write/Read, может будет достаточно писать тбц.ToString() или переписать ToString() так, чтобы этого было достаточно.

Sdílet tento příspěvek


Odkaz na příspěvek
Sdílet na ostatní stránky

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Odpovědět na toto téma...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Kdo si právě prohlíží tuto stránku

    Žádný registrovaný uživatel si neprohlíží tuto stránku