Api writeFile пишет в файл непонятно что.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Лёха_Virus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 24.03.2003 (Пн) 17:13
Откуда: Анграск

Api writeFile пишет в файл непонятно что.

Сообщение Лёха_Virus » 09.09.2003 (Вт) 18:01

Здраствуйте! у меня проблема с этой апи.

вот кусок кода:

strdata = "file opened " & Date & " at " & Time & vbCrLf
result = WriteFile(fHandle, strdata, Len(strdata), ret, ByVal 0&)

а в файле получается вот вроде такого:
( a Иу

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

Сообщение GSerg » 10.09.2003 (Ср) 7:31

У всех не работает :)

Код: Выделить всё
sTemp = "Writing file..." + vbNewLine + "Пишем файл..."
WriteFile hNewFile, ByVal sTemp, Len(sTemp), Ret, ByVal 0&


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

Лёха_Virus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 24.03.2003 (Пн) 17:13
Откуда: Анграск

Сообщение Лёха_Virus » 11.09.2003 (Чт) 17:40

Вот это зверская странность!!! я уже решил эту проблему, записывая стринговую строку в байтовый массив, а его в файл. НО! раньше я делал вот так:

writelog = writefile(fHandle, strdata, Len(strdata), ret, ByVal 0&)
- не работало, т.е. работало, но писало в файл непонятно что.

writefile fhandle, ByVal strdata, Len(strdata), Ret, ByVal 0&

-странно, но работает! Не могу найти других отличий кроме 2-х скобок. Не подскажете чё это за гон за такой?
А! ByVal strdata! что это значит? и что это даёт?

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

Сообщение GSerg » 12.09.2003 (Пт) 7:39

А это, батенька, для передачи правильного char* этой апишке. Ежели передать char* неправильный, то уважающая себя апишка грохает процесс, который этим непотребством занимается. А writefile не рушит, а пишет то, что находится по тому char*, который ей подсовывают...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 12

    TopList