Stevendall Odesláno July 25, 2006 Autor Nahlásit Odesláno July 25, 2006 (upraveno) А зачем в винформе такой изврат? Хочется подать рядовому уживателю на его запрос для вывода на печать текст с НАВОРОТАМИ (табличками, колонками, картинками), а RichTextBox в этом отношении не такой извращённый - только цвета да канва есть. А таблички как наворотить? С RTF-файла (на то он и RичTекстFайл) даже картинки в этот Бокс загоняются, но ведь сделать такие динамично, наверное, будет ещё большим ухильством. Я даже не знаю, возможно ли такое извращение. А ещё, если динамично создать несколько HTMLов да связать их взаимными ссылками, вот это будет полный разврат! Не... Это ещё не разврат. Разврат будет, когда туда ещё и JavaScript динамично всунуть. Для такого разврата Microsoft, наверное, не так плохо воспитан. Upraveno July 25, 2006 uživatelem Stevendall
AgentXXX Odesláno July 25, 2006 Nahlásit Odesláno July 25, 2006 текст с НАВОРОТАМИ (табличками, колонками, картинками) Ну значится, ВАМ БАТЕНЬКА, учить матчасть. МСДН - ваш дом на ближайшее время.
testtest Odesláno July 25, 2006 Nahlásit Odesláno July 25, 2006 (upraveno) IMHO. Для того чтобы напечатать текст с табличками и т.д. его надо переформатировать в зависимости от принтера/бумаги/пользователя и т.п. Кто это будет делать? не проше ли эту всю красоту запихнуть в картинку и печатать только ее? или использовать готовый шаблон ( для уже известного наполнения ) а остальное дописывать? еще гдето HTMLView был. Upraveno July 25, 2006 uživatelem testtest
Stevendall Odesláno August 1, 2006 Autor Nahlásit Odesláno August 1, 2006 Итак, после прохождения курса молодого бойца в 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; } Бобик сдох.
AgentXXX Odesláno August 1, 2006 Nahlásit Odesláno August 1, 2006 Стив, ты маньяк.Ну да ладно, это временное состояние. Тыкай мышей и иди в фак. Может ВБ-шный код будет полегче? 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!
testtest Odesláno August 1, 2006 Nahlásit Odesláno August 1, 2006 Сделайте класс ТБЦ. добавьте туда две функции Write( BinaryWriter bw ) i Read( BinaryReader br ) в этих функциях и читайте/записывайте свои данные. или посмотрите как работает Write/Read, может будет достаточно писать тбц.ToString() или переписать ToString() так, чтобы этого было достаточно.
Recommended Posts
Pokud chcete odpovídat, musíte se přihlásit nebo si vytvořit účet.
Pouze registrovaní uživatelé mohou odpovídat
Vytvořit účet
Vytvořte si nový účet. Je to snadné!
Vytvořit nový účetPřihlásit se
Máte již účet? Zde se přihlašte.
Přihlásit se