Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


yyv,
Вы проверочку на размер сделаете, а то если текст будет превышать размер хранения переменной - с треском грохнется NSIS. Вы же помещаете текст целиком в переменную... в $1 - размер в байтах...

Код: Выделить весь код
 
   FileOpen $0 text.txt r
   IfErrors Exit
   System::Call 'kernel32::GetFileSize(ir0, i0) i .r1'
   IntOp $1 $1 + 1 ; for terminating zero
   IntCmp $1 ${NSIS_MAX_STRLEN} 0 0 Exit
   System::Alloc $1
   Pop $2
   System::Call 'kernel32::ReadFile(ir0,  ir2,  ir1, *i.r3,  i0)'
   FileClose $0  
   System::Call "*$2(&t$3.r4)" ;из указателя на буфер - вытаскиваем текст
   MessageBox MB_ICONINFORMATION|MB_OK "$4" IDOK    ;в $4 - содержимое всего файла
   System::Free $2
   Exit:

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Последний раз редактировалось kotkovets, 01-08-2011 в 19:26.


Отправлено: 14:59, 01-08-2011 | #1453