![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Дельфист
Форумчанин
Регистрация: 14.08.2007
Сообщений: 317
|
![]()
Как мне прочитать данные из самого себя если я знаю позицию в файл откуда надо читать
Вот мой код const size=425472; var code:string; f:Thandle; temp:cardinal; begin f:=createfile(Pchar(application.Exe Name),GENERIC_READ,0,nil,OPEN_EXIST ING,0,0); setfilePointer(f,size,nil,FILE_Begi n); readfile(f,code,100,temp,nil); closehandle(f);
ICQ-465033557
WINDOWS CE THE BEST |
![]() |
![]() |
![]() |
#2 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
1. Попробуй вызвать CreateFile с такими флагами
CreateFile(Pchar(application.ExeNam e),GENERIC_READ,FILE_SHARE_READ+FIL E_SHARE_WRITE,0,OPEN_EXISTING,0,0); 2. Обьявить переменную Code как pchar
пыщь
|
![]() |
![]() |
![]() |
#3 |
Дельфист
Форумчанин
Регистрация: 14.08.2007
Сообщений: 317
|
![]()
<!!2. Обьявить переменную Code как pchar>
Если я объявлю code как Pchar там можно будет хранить большой текст??
ICQ-465033557
WINDOWS CE THE BEST |
![]() |
![]() |
![]() |
#4 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Можно.
GetMem(code, size); ... FreeMem(Code);
пыщь
|
![]() |
![]() |
![]() |
#5 |
Дельфист
Форумчанин
Регистрация: 14.08.2007
Сообщений: 317
|
![]()
не получается вот что у меня за дело!
1.Это я копирую файл в папку какую-то copyfile(Pchar(extractfilepath(appl ication.ExeName)+'Compiler.exe'),pc har(exefile),false); buffer:=codememo.Text; assignfile(f,exefile); append(f); writeln(f,buffer); closefile(f); //exefile-новая папка 2.запускаю winexec(Pchar(exefile),sw_show); 3.в compiler.exe написано const size=425472; var code:string; f:Thandle; temp:cardinal; begin f:=createfile(Pchar(application.Exe Name),GENERIC_READ,0,nil,OPEN_EXIST ING,0,0); setfilePointer(f,size,nil,FILE_Begi n); readfile(f,code,100,temp,nil); closehandle(f); showmessage(code); ВОТ!! в файл записывается но когда открываю то ничего не считывает
ICQ-465033557
WINDOWS CE THE BEST |
![]() |
![]() |
![]() |
#6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
assignfile(f,exefile);
append(f); writeln(f,buffer); Не самая лучшая идея открывать бинарник, коим является EXE, как текстовый файл. Используй CreateFile/WriteFile. Я так понял тебе надо к программе дописать текст, чтоб она его с хвоста прочитала и вывела в сообщении? Глянь эту тему http://programmersforum.ru/showthread.php?t=5896 ЗЫ: Хех, Индийский Код: extractfilepath(application.ExeName )+'Compiler.exe' ![]()
пыщь
Последний раз редактировалось JTG; 14.12.2007 в 19:07. |
![]() |
![]() |
![]() |
#7 |
Дельфист
Форумчанин
Регистрация: 14.08.2007
Сообщений: 317
|
![]()
да там ничего почти не написано что мне надо мне надо знать где у меня в коде ошибка
ICQ-465033557
WINDOWS CE THE BEST |
![]() |
![]() |
![]() |
#8 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
assignfile(f,exefile);
append(f); Не уверен, можно ли так делать, может это то же, что открыть exe блокнотом, дописать текст и сохранить. Код при этом само-собой гибнет. Открой сompiler.exe через handle:=CreateFile..., установи указатель в конец и запиши нужные данные через WriteFile(handle, pchar(codememo.Text)... Или так Код:
пыщь
Последний раз редактировалось JTG; 14.12.2007 в 19:28. |
![]() |
![]() |
![]() |
#9 |
Дельфист
Форумчанин
Регистрация: 14.08.2007
Сообщений: 317
|
![]()
Я так пробовал вообще тогла ничего не записывается
ICQ-465033557
WINDOWS CE THE BEST |
![]() |
![]() |
![]() |
#10 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
пробуем так:
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как прочитать данные из Repeater? | posdnyaa | БД в Delphi | 0 | 07.04.2008 09:50 |
Покажите себя! | Elefanter | Софт | 20 | 21.03.2008 11:48 |
Pascal//определить длину самого короткого и самого длинного слова в строке | ShnurOK | Помощь студентам | 2 | 16.12.2007 10:43 |
Как мне в асме прочитать данные из файла? | lelicman | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 10.10.2007 09:24 |