Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Вниз

Считывание файла прогриммы   Найти похожие ветки 

 
Николай Быков   (2002-10-10 14:09) [0]

Я на паскале очень легко используя процедуры blockread blockwrite прекрасно считывал ехе-шник прграммы, а в Делфи столкнулся с невозможностью делать это. (выдается какая-то ошибка)


 
Reindeer Moss Eater   (2002-10-10 14:14) [1]

Не повезло тебе


 
Rouse_   (2002-10-10 14:19) [2]

Читать то ты сможешь, нужно открыть файл только для чтения, а вот писать в запущенный ехе увы нет

Желаю успехов


 
BOA_KAA   (2002-10-10 14:19) [3]

Попробуй прочитать его в буфер, а оттуда уже считывать


 
Николай Быков   (2002-10-10 14:24) [4]

2 BOA_KAA
А куда по твоему эти процедуры считывают файл? :-0


 
BOA_KAA   (2002-10-10 14:31) [5]

Ну, не знаю, куда они у тебя считывабт, раз не прочитать:-)

Пример дать?


 
Pumpkin   (2002-10-10 14:42) [6]

Это тебе не ДОС, можно только читать. Хотя ты Reset-ом только для чтения не откроешь. Пользуй TFileStream или FileOpen (как обертку для APIшных).


 
Николай Быков   (2002-10-10 14:57) [7]

Я не писал что мне надо записывать в ехе-шник.
Мне его нужно в буффер записать только. Туда пишет процедура blockread

2 BOA_KAA
А ты почитай хелп по этой процедуре а потом и задавай такие е**нные вопросы.


 
BOA_KAA   (2002-10-10 15:00) [8]

НЕ ХОЧЕШЬ - ПРИМЕРА НЕ ПОЛУЧИШЬ И РАЗБИРАЙСЯ ТОГДА САМ!


 
Николай Быков   (2002-10-10 15:02) [9]

2 BOA_KAA
Fucking niga, please read the help about this procedure.


 
BOA_KAA   (2002-10-10 15:04) [10]

Придурок! Я-то знаю, как это сделать, а ты - нет. И еще раз внимательно прочитай, что Pumpkin написал!


 
Pumpkin   (2002-10-10 15:06) [11]

>Мне его нужно в буффер записать только. Туда пишет процедура blockread.
Чтобы сделать BlockRead надо вначале сделать Reset, а вот здесь облом.

F := TFileStream.Create(ParamStr(0), fmOpenRead or fmOpenDenyNone);
F.ReadBuffer( Buf, SizeOfExeFile );

Поправьте если я не прав.


 
Rouse_   (2002-10-10 15:21) [12]

> Николай Быков © (10.10.02 15:02)
Нет ну вы сами подумайте зачем здесь давать информацию которая есть уже у вас? Нужен пример? Легко, но чуточку усилий плз, а то это получается неуважение к отвечающим

вот вам грубый набросок

procedure TForm1.Button1Click(Sender: TObject);
var f:TFileStream;
s:array [0..9] of char;
tmp:String;
begin
f := TFileStream.Create("c:\test.txt",fmOpenReadWrite);
f.Read(s,10);
Caption := String(s);
f.Seek(0, soFromBeginning);
tmp := "1234567890";
Move(tmp[1],s[0],10);
f.Write(s,10);
f.Free;
end;


Желаю успехов



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.038 c
14-68968
Naik
2002-09-28 16:32
2002.10.21
Пишите, кому не в лом:)


3-68638
Ученик
2002-09-27 11:57
2002.10.21
Копирование данных в Interbase


1-68710
dimonf
2002-10-08 20:41
2002.10.21
Как правильно округлить 3.0299999 в 3.03?


3-68629
vis79
2002-09-30 06:45
2002.10.21
высота ячейки в QuickReport (AutoStretch)


14-68940
France
2002-09-27 15:09
2002.10.21
Телефон Siemens C35i





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский