| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Помогите студенту с файлами |
| Автор: sergey24 25.4.2004, 00:00 |
| Добрый день. Помогите пожалуста студенту. Нужно сделать следующее Считать с файла с определеного места число ( максимум 10 разрядов) сделать с ним орифметические операции вывести в таблицу и сохранить результат в файле. вот исходник чтения числа из файла я там ни как ни могу настроить типы файла в командах seek reаd 2, как с переменной buf выполнить арифметические операции?? за ранее очень благодарень :-) var f: file ; // файл buf: String; // буфер для чтения из файла number: integer; kol:integer; name:string [10]; begin number:=StrToInt(Edit1.Text); kol:=StrToInt(Edit2.Text); name:='bfgh'; number:=0; AssignFile(f, 'base.txt'); Reset(f); // открыть для чтения Seek(f, kol); read(f, buf); tabl.Cells[1,3]:=buf; CloseFile(f); // закрыть файл |
| Автор: cot 25.4.2004, 06:10 |
| Наверное вместо read - BlockRead. А с buf StrToInt или я вопроса не понял. |
| Автор: sergey24 25.4.2004, 10:15 |
| пробовал с типами данных настроить не могу |
| Автор: dm9 25.4.2004, 10:39 | ||
| Так работать не будет - где размер, сколько читать? Все два гига стринга? Попробуй так:
Если не работает - скажи. Просто проверять сейчас не хочу. Писал без проверки на работоспособность. Может, что не учёл Number здесь - сколько байт (сколько символов читать). Добавлено @ 10:43 Проверил всё-таки. Delete (S, Length (S), 1); не нужно... |
| Автор: sergey24 25.4.2004, 23:52 |
| Привет код рабочий за исключением этого: Val (S, H, C); //Уже число - оно в H if C <> 0 then ShowMessage ('Там не было числа!'); но он в принцепе и не надо тк все данные числа проблемка в другом в переменой S : String; заноситься только одно разрядное число вместо остальных разрядов мусор. И второе как с полученой переменой S : String; сделать арифметические операции? и занести обратно в файл наверное также. Большое спасибо за примерчик :-) |
| Автор: dm9 26.4.2004, 16:08 | ||||||
Не понял, что тут нерабочего
Так Val - это преобразование к числу. Я для этого и использовал его.
Попробуй вместо Buffer : array [1..10] of Char; поставить Buffer : packed array [1..10] of Char; |