Чтение и запись в текстовый файл

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 12.04.2006 (Ср) 7:47

Роман-вб писал(а):...Тип данных, содержащихся в файле определяет тип доступа к файлу...

А еще можно на это начхать и везде юзать For Binary

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 12.04.2006 (Ср) 10:31

Эмм, с точки зрения определения из умной книжки, файлы в кодировке Unicode текстовыми являться не могут?
Быть... или не быть. Вот. В чём вопрос?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 12.04.2006 (Ср) 10:52

uhm писал(а):Эмм, с точки зрения определения из умной книжки, файлы в кодировке Unicode текстовыми являться не могут?


С учетом года издания книжки (1998 год) такая мелочь как существование Unicode могла остаться незамеченной. Всяко проггер на VB не мог без проблем юзать W-версии API-функций :D
Весь мир матрица, а мы в нем потоки байтов!

minotawr
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 195
Зарегистрирован: 08.01.2006 (Вс) 12:38
Откуда: Курск

Сообщение minotawr » 12.04.2006 (Ср) 11:00

Ой мамочки, Ой немогу, Ну что же это делается?
Пора всю тему переносить в цитаты дня!
Большой совет начинающим программистам - хватит заниматся перепирательствами, учите матчать и не по книжкам за 1998 год, больше копайтесь в интернете - там много полезного найти можно, слушайте старших (опытных), а не пытайтесь сочинять новые способы программирования :)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 12.04.2006 (Ср) 11:02

А определение "текстового" файла поместить в FAQ и посылать новичков туда... :D
Весь мир матрица, а мы в нем потоки байтов!

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 12.04.2006 (Ср) 12:38

написать эвристический анализатор "текстовости" файла, и в кирпичи его :D

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 12.04.2006 (Ср) 12:50

Афтара к награде, чтоли? :)

minotawr
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 195
Зарегистрирован: 08.01.2006 (Вс) 12:38
Откуда: Курск

Сообщение minotawr » 12.04.2006 (Ср) 12:53

RayShade писал(а):Афтара к награде, чтоли? :)
Золотую медаль из нержавеющей стали выдать :)

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 12.04.2006 (Ср) 12:55

Ну один его акаунт уже, медаль получил :)

minotawr
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 195
Зарегистрирован: 08.01.2006 (Вс) 12:38
Откуда: Курск

Сообщение minotawr » 12.04.2006 (Ср) 13:00

А я то думал - чтото подчерк знакомый :)
Ну ведь можно выдать медаль и по ip.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 12.04.2006 (Ср) 13:04

Ну можно, но это уж как то совсем сурово ;)

minotawr
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 195
Зарегистрирован: 08.01.2006 (Вс) 12:38
Откуда: Курск

Сообщение minotawr » 12.04.2006 (Ср) 13:12

Дело в том, что другие начинают брать с него пример, особенно в том что касается наездов на тех кто пытается дать ответ, после этого пропадает всякое желание отвечать, а топики превращаются в "цитаты дня".
ИМХО: последнее предупреждение перед медалью по ip (а вдруг и вправду одумается)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.04.2006 (Ср) 13:15

uhm писал(а):Эмм, с точки зрения определения из умной книжки, файлы в кодировке Unicode текстовыми являться не могут?

Всё ещё хуже:
Роман-вб писал(а):Текстовый файл -- это такой файл, каждый символ в котором либо является текстовым символом, либо входит в форматирующую последовательность текста(например, символ новой строки (NL)). Данные хранятся как символы в коде ANSI"

Стало быть, даже файлы в 866 кодировке, или ещё хлеще -- в какой-нибудь восточноазиатской MBCS, текстовыми быть не могут ну никак. Даже если они написаны за много лет до появления Юникода.

!Viper! писал(а):
uhm писал(а):Эмм, с точки зрения определения из умной книжки, файлы в кодировке Unicode текстовыми являться не могут?


С учетом года издания книжки (1998 год) такая мелочь как существование Unicode могла остаться незамеченной.

Нуничёсе... Юникод существует с 1991 г. и поддерживается Виндой с 1993 г.
Это нужно было очень крепко зажмуриться, чтобы в 1998 г. его не заметить.

!Viper! писал(а):Всяко проггер на VB не мог без проблем юзать W-версии API-функций :D

Неправда. Мог безо всяких проблем.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 12.04.2006 (Ср) 16:48

Ну пользоваться то он мог конечно, главное не забывать постоянно конвертировать строки, ну или пользоваться массивами или :shock: указателями.

Кстати упоминаний об Unicode в вышеупомянутой книге действительно нет, как это не странно, и определение "текстовости" файла в ней именно такое, как приведено выше (прям щас на книгу смотрю и удивляюсь)
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.04.2006 (Ср) 17:52

!Viper! писал(а):Ну пользоваться то он мог конечно, главное не забывать постоянно конвертировать строки, ну или пользоваться массивами или :shock: указателями.

Даже и конвертировать их постоянно незачем. Все строки внутри VB хранятся в Юникоде; это для него родной формат. И для WinNT это родной формат. Зачем же конвертировать?
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 12.04.2006 (Ср) 18:02

Хранит то он (VB то бишь) строки действительно в Unicode, но при вызове API-функции совершенно самостоятельно конвертирует строку в ANSI-формат независимо от того какая версия функции вызывается.
Весь мир матрица, а мы в нем потоки байтов!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 12.04.2006 (Ср) 18:22

Ну по поводу Юникода не спорю(придираться к словам конечно можно долго).
а не пытайтесь сочинять новые способы программирования

Если ты, уважаемый minotawr и сочиняешь новые способы программирования, то я, прежде чем что-то утверждать, изучаю данную проблему! В частности, та самая книга считаетсяя весьма уважаемой. Издана в MIcrosoft Press. Думаю, пдвергать сомнениям сторки из неё -- значит заведомо ставить себя в неловкое положение.

А для тебя, minotawr, как для особо умного, "старшего (опытного)", приведу несколько афоризмов:
Дым столбом, а огня не видно.
Слушай больше, но говори меньше!
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.04.2006 (Ср) 18:25

Роман-вб писал(а):то я, прежде чем что-то утверждать, изучаю данную проблему!

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

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 12.04.2006 (Ср) 18:29

и Microsoft Press может ошибаться... и просто Microsoft тоже может ошибаться... Определение текстового файла в книге мягко говоря странноватое. еще раз повторю: текстовым файл становится только в соответствующем редакторе, а так они все являются бинарными (кстати это в книге есть, но дальше почему то начинаются странности). Так что все-таки матчасть учить надо
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.04.2006 (Ср) 18:33

!Viper! писал(а):Хранит то он (VB то бишь) строки действительно в Unicode, но при вызове API-функции совершенно самостоятельно конвертирует строку в ANSI-формат независимо от того какая версия функции вызывается.

За исключением, как минимум, двух случаев:
*API объявлена в TLB;
*Строковой параметр передаётся как Long.

В обоих этих случаях конвертации не происходит.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 12.04.2006 (Ср) 18:35

tyomitch писал(а):За исключением, как минимум, двух случаев:
*API объявлена в TLB;
*Строковой параметр передаётся как Long.

В обоих этих случаях конвертации не происходит.


вот с этим согласен + еще вариант, передвать строку как массив байт
Весь мир матрица, а мы в нем потоки байтов!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 12.04.2006 (Ср) 18:37

GSerg писал(а):
Роман-вб писал(а):то я, прежде чем что-то утверждать, изучаю данную проблему!

Главное, убедиться, что процесс изучения успешно завершён к моменту утверждения...
Само собой :!:
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 12.04.2006 (Ср) 18:40

!Viper!
Так что все-таки матчасть учить надо
А "матчасть" -- это о том как правильно и умело ругаться матом (например, если в книжке ошибки)? :lol:
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.04.2006 (Ср) 18:40

Роман-вб, мой юный трук...

Выполни этот код и скажи, каким является полученный в итоге файл.
Код: Выделить всё
Option Explicit

Private Sub Form_Load()
  Dim s As Single
 
  s = 2.69707E+23
 
 
  On Error Resume Next
  Kill "c:\1.dat"
  On Error GoTo 0
 
 
  Open "c:\1.dat" For Binary Access Write As #1
  Put #1, , s
  Close #1
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 12.04.2006 (Ср) 18:40

Роман-вб писал(а):
GSerg писал(а):
Роман-вб писал(а):то я, прежде чем что-то утверждать, изучаю данную проблему!

Главное, убедиться, что процесс изучения успешно завершён к моменту утверждения...
Само собой :!:


судя по некоторым утверждениям процесс изучения звершен не успешно, а с ошибками
Весь мир матрица, а мы в нем потоки байтов!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 12.04.2006 (Ср) 18:51

!Viper!
Я конечно не буду цитировать Черномырдина, говоря: "Если у вас чешутся руки, то чешите другое место", но скажу то, что выводы твои, мягко говоря, пустые.
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 12.04.2006 (Ср) 19:04

GSerg
И какой же ожидается ответ?...М...да. Спор преобритает глупый характер, и тема себя исчерпала. И вообще, GSerg, для тебя вдаваться в этот спор "столь глубоко -- слишком мелковато".
Не стоит уподобляться старшим (опытным), пытающимся сочинять новые способы программирования (minotawr)
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 12.04.2006 (Ср) 19:24

minotawr писал(а):Дело в том, что другие начинают брать с него пример, особенно в том что касается наездов на тех кто пытается дать ответ, после этого пропадает всякое желание отвечать, а топики превращаются в "цитаты дня".
ИМХО: последнее предупреждение перед медалью по ip (а вдруг и вправду одумается)
А эту муть только что увидел. Волосы дыбом встали :twisted: Ты меня, человек, с кем-то путаешь! :evil:
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

minotawr
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 195
Зарегистрирован: 08.01.2006 (Вс) 12:38
Откуда: Курск

Сообщение minotawr » 13.04.2006 (Чт) 8:38

Роман-вб писал(а):А эту муть только что увидел. Волосы дыбом встали :twisted: Ты меня, человек, с кем-то путаешь! :evil:
Правда? Вот уж не думал! А с кем интересно?

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 13.04.2006 (Чт) 20:29

minotawr
С тобой ха-ха :lol: :twisted:
P.S. Нет ребята, невозможно здесь без мата.
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Majestic-12 [Bot] и гости: 38

    TopList