Збереження даних в бінарний файл
Добридень, шановні,
У нас з інформатики загрожує шкільна олімпіада, я поки ще тільки почав вчити дельфи, але ось зіткнувся з такою задачкою приблизною, яка може бути в завданнях на олімпіаду. Для вас вона напевно буде дуже проста, але для мене вона поки взагалі незбагненна.
Приблизний текст завдання:
дана стрінговая змінна виду str: = "ffd8ffe000104a4649460001", в якій містяться дані в шістнадцятковому вигляді. І ці дані необхідно записати в бінарний файл так щоб кожен записаний байт відповідав своєму Шістнадцяткова значенням в представленій стрінговой змінної.
Ось таку от завдання мені дали повирішувати. Допоможіть будь ласка. Буду дуже вдячний якщо представите исходник з поясненнями, щоб я зрозумів як це робиться. Величезне вам спасибі.
1. Якщо довжина рядка - непарна, додаємо до неї зліва символ "0"
2. Проходимо рядок в циклі while по парам символів. Кожна пара береться, як підрядок, доповнюється зліва символом "$", перетворюється в число викликом StrToInt і потім це число записується в file of byte.
От і все. А код - це вже самі, а то нецікаво буде.
спасибі я це зрозумів, але я ніколи не працював із записом в текстові файли, а тут ще й бінарні. можете хоча б запис в файл показати? спасибі заздалегідь
maximka # XA0; (22.10.04 20:52) [2]
Натискаєш F1, в індексі друкуєш write, отримуєш допомогу з прикладом по procedure Write ([var F: Text;] P1 [. P2. Pn]);
> [2] maximka # XA0; (22.10.04 20:52)
var
# XA0; F: file of Byte;
# XA0; Value: Byte;
begin
# XA0; AssignFile (F, "c: \ MyFile.bin");
# XA0; Reset (F);
# XA0; // У Value записуємо потрібне число
# XA0; Write (F, Value);
# XA0; CloseFile (F)
end.
У мене дельфі7, і там начебто немає прикладу, у мене з англійською трохи сумно, тому я хотів з поясненнями російською зрозуміти це. вибачте звичайно що дурні питання задаю, але я учень всеголішь.
ВОГО, спасибочки большое begin. end