![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| sergey24 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.4.2004 Репутация: нет Всего: нет |
Добрый день.
Помогите пожалуста студенту. Нужно сделать следующее Считать с файла с определеного места число ( максимум 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 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 4.6.2003 Репутация: нет Всего: нет |
Наверное вместо read - BlockRead. А с buf StrToInt или я вопроса не понял.
|
|||
|
||||
| sergey24 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.4.2004 Репутация: нет Всего: нет |
пробовал
с типами данных настроить не могу |
|||
|
||||
| dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
Так работать не будет - где размер, сколько читать? Все два гига стринга?
Попробуй так:
Если не работает - скажи. Просто проверять сейчас не хочу. Писал без проверки на работоспособность. Может, что не учёл Number здесь - сколько байт (сколько символов читать). Добавлено @ 10:43 Проверил всё-таки. Delete (S, Length (S), 1); не нужно... |
|||
|
||||
| sergey24 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.4.2004 Репутация: нет Всего: нет |
Привет
код рабочий за исключением этого: Val (S, H, C); //Уже число - оно в H if C <> 0 then ShowMessage ('Там не было числа!'); но он в принцепе и не надо тк все данные числа проблемка в другом в переменой S : String; заноситься только одно разрядное число вместо остальных разрядов мусор. И второе как с полученой переменой S : String; сделать арифметические операции? и занести обратно в файл наверное также. Большое спасибо за примерчик :-) |
|||
|
||||
| dm9 |
|
||||||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 6 Всего: 137 |
Не понял, что тут нерабочего
Так Val - это преобразование к числу. Я для этого и использовал его.
Попробуй вместо Buffer : array [1..10] of Char; поставить Buffer : packed array [1..10] of Char; |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |