![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение данных в бинарный файл [D7, Win2k, WinXP]
maximka © (2004-10-22 20:36:00)Здравствуйте уважаемые,
У нас по информатике грозит школьная олимпиада, я пока еще только начал учить дельфи, но вот столкнулся с такой задачкой примерной, которая может быть в заданиях на олимпиаду. Для вас она наверно будет очень проста, но для меня она пока вообще непостижима.
Примерный текст задачи:
дана стринговая переменная вида str := 'ffd8ffe000104a4649460001', в которой содержатся данные в шестнадцатиричном виде. И эти данные необходимо записать в бинарный файл так чтобы каждый записанный байт соответствовал своему шестнадцатиричному значению в представленной стринговой переменной.
Вот такую вот задачку мне дали порешать. Помогите пожалуйста. Буду очень благодарен если представите исходник с пояснениями, чтоб я понял как это делается. Огромное вам спасибо.
Юрий Зотов (2004-10-22 22:15:00) [1]wnew © (22.10.04 20:57 ) [3]
maximka (22.10.04 21:00 ) [5]
LOL.
maximka (2004-10-22 21:01:00) [2]воооо, спасибочки большое begin...end
maximka (2004-10-22 21:00:00) [3]У меня дельфи7, и там вроде нет примера, у меня с английским немного грустно, поэтому я хотел с пояснениями на русском понять это. извините конечно что глупые вопросы задаю, но я ученик всеголишь.
begin...end (2004-10-22 20:59:00) [4]
> [2] maximka (22.10.04 20:52)
var
F: file of Byte;
Value: Byte;
begin
AssignFile(F, 'c:\MyFile.bin');
Reset(F);
// В Value записываем нужное число
Write(F, Value);
CloseFile(F)
end.
wnew (2004-10-22 20:57:00) [5]maximka (22.10.04 20:52) [2]
Нажимаешь F1, в индексе печатаешь write, получаешь помощь с примером по procedure Write( [var F: Text; ] P1 [ , P2,..., Pn] );
maximka (2004-10-22 20:52:00) [6]спасибо я это понял, но я никогда не работал с записью в текстовые файлы, а тут еще и бинарные. можете хотя бы запись в файл показать? спасибо заранее
Юрий Зотов (2004-10-22 20:46:00) [7]1. Если длина строки - нечетная, добавляем к ней слева символ '0'
2. Проходим строку в цикле while по парам символов. Каждая пара берется, как подстрока, дополняется слева символом '$', преобразуется в число вызовом StrToInt и затем это число записывается в file of byte.
Вот и все. А код - это уж сами, а то неинтересно будет.