· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Чтение-запись.

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Дек 6, 2003 21:45:58

Здравствуйте, войны и прочие Дзёна!

Мой вопрос, на этот раз, серьёзный и
для меня важный.
Прочтя статьи Икзелиона, кое-что из MSDN
и несколько тем на форуме, посвящённых
этой тематике, я так и не смог понять,
как мне читать из файла. Т.е. общую
теорию я понять смог и целиком прочесть
файл тоже могу, но мне нужно несколько
другое:
1) прочесть из файла строку от начала до разделителя;
(например, #);
2) перейти на следующую строку и прочесть её
до разделителя.
Всё просто? Но у меня вопрос, а как я найду
конец строки. (т.е. 13, 10) или как-то иначе.
И всё это выполнять в цыкле до тех пор, пока
не закончаться строки, в которых есть разделители.
Извините, за такой, кажется, простой вопрос, но
других источников, где я мог бы узнать у меня нет.
Не пинайте и ещё раз укажите над чем работать.
Может быть поможете исходником.
И ещё вопрос:
в файле нужно изменить только два сивола, первых два.
Удалить AL и записать AX,бкак это сделать (чтобы
не кретить новой темы.)
Заранее благодарен.
1990.


Дата: Дек 6, 2003 21:57:30

прочесть из файла строку от начала до разделителя;
Так не получится, из файла можно читать лишь фиксированное количество байт. Сначала читаете, потом смотрите, что прочиталось. Все действия - поиск разделителя и конца строки - только в памяти. Лучше всего промэппировать файл (об этом Iczelion рассказывал) чтобы не мучаться с границами


Дата: Дек 7, 2003 03:04:40

1990
Я приводил пример кода с поиском 13,10 для сокетов. В случае с файлом можно поступить точно также. Или MMF, как советует hGoblin. MMF намного удобнее, но не эффективнее. И с MMF я тоже приводил пример кода. Поиск по форуму.


Дата: Дек 8, 2003 09:18:08

OK. Посмотрел. Спасибо. (Не всё получилось, но принцып понятен). А можно ещё вопрос: как заменить с екзе первые две буквы - сигнатуру. Например, MZ на ZM или на любую другую сигнатуру. Если можно косочек кода.
Заранее спасибо.


Дата: Дек 8, 2003 10:19:42 · Поправил: 1990

Приношу свои извинения, за ламерскую просьбу. Не смогли бы помочь в выводом в файл информации из програмульки - и мне бы был урок. Когда-то г-н Miller дал исходник, перечисляющий сетевые ресурсы. Я его скомпилил, попробовал, но вывести в файло информацию не могу. За одно поучусь, как нужно читать/писать файл. Если не сложно, конечно. Публикую, с разрешения Miller'a исходник здесь.
Заранее спасибо!

_487916028__console


Дата: Дек 8, 2003 13:18:29

1990
GetStdHandle замени на CreateFile (+ не забудь в конце закрыть файл CloseHandle)
WriteConsole замени на WriteFile.


Дата: Дек 8, 2003 16:08:18

q_q
Большое спасибо! Сейчас попробую и напишу результат.


Дата: Дек 8, 2003 19:44:35 · Поправил: 1990

Сейчас в отладчике просидел но понять не смог. Вот сорс и рабочее приложение - печатает только одну строку. Посмотри, если не сложно.
Возможно, что я сделал что-то не так с присвоением размера?

_728577355__1w.rar


Дата: Дек 8, 2003 21:16:06

1990
Print   proc uses ebx String :DWORD     
        LOCAL cntWrite :DWORD
        lea esi,MsgTable
        lodsd
        .while dword ptr [esi] != 0
                .if eax == String
;                        invoke WriteConsole,hConsole,esi,15,addr cntWrite,0
                         invoke WriteFile,hFile,esi,S2_Len,addr cntWrite,0
                .endif
                add si,15
                lodsd
        .endw
        invoke CloseHandle,hFile
        ret
Уберите этот CloseHandle.


Дата: Дек 9, 2003 08:45:29

Quantum
Спасибо! Большое спасибо! Я понял в чём дело только сейчас. ;-)


Дата: Дек 9, 2003 11:57:55

1990
Afaik еще нет.
Например, в твоем или Miller варианте нет WNetEnumClose.
Посмотри код из аттача.

_1597246826__enumres.rar


Дата: Дек 9, 2003 12:03:34

q_q
Большое человеческое спасибо! Доходчиво этот пример демонстрирует доступные ресурсы. Я сейчас задумал маленький NetPopup написать - как раз для него, а в другом топике про функцию передачи данных спрашиваю - Unicode не Unicode? может быть и туды заглянешь? ;) Кое-что начинаю понимать и это радует!


Дата: Дек 9, 2003 12:07:46

1990
пример демонстрирует доступные ресурсы
А ты хочешь еще hidden?


Дата: Дек 9, 2003 12:16:39

q_q
А можно? Или это шутка? А в раздел про Unicode не глянул? Может быть сразу решение в голову придёт. И ещё вопрос, с позволения админов: а послать что-то лучше, чем такое (сообщение от службы сообщений в некрасивом мбоксе) можно, не сильно при этом напрягаясь?


Дата: Дек 9, 2003 12:25:43

1990
А можно?
Да см. NetShareEnum.

Если очень надо могу приаттачить.
Только не сразу, т.к. он у меня на Си (я так понимаю, нужен на asm'е, а на asm'е код громоздкий, т.к. надо учитывать w9x и wnt.), и заточен под мои нужды.

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.155