Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.12.2007, 16:08
nav nav вне форума
Прохожий
 
Регистрация: 27.11.2007
Сообщения: 30
Репутация: 10
По умолчанию аварийный выход

продолжаю самостоятельно осваивать Delphi. Написал программу, ошибок не выдаёт, но аварийно завершается. Наверное, что-то не понимаю в вариантах. помогите, кому не трудно.
Дан файл, надо цифры записать в memo1 , а буквы в memo2.
Код:
 procedure TForm1.Button1Click(Sender: TObject);
var fi1:file;
    buf1:variant;
    chislo:chis;
    k1:integer;
begin with od1 do
  if execute
  then e1.Text:=extractFiledir(od1.FileName)+filename;
 assignFile(fi1,od1.FileName); {$I-} reset(fi1,1); {$I+}
 k1:=0;
 repeat BlockRead(fi1, Buf1,sizeOf(buf1),k1);
   if VarIsEmpty(buf1)=false
   then if VarType(buf1) in chislo
        then red1.lines.Add(buf1)
        else if buf1<>' '
             then red2.lines.Add(vartostr(buf1));
  until (k1<>0) or (k1<>10);

end;
Ответить с цитированием
  #2  
Старый 22.12.2007, 01:19
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

В BlockRead в качестве буфера обычно передают массив либо выделенную область памяти (которую потом нужно освободить). А дальше этот массив уже можно побайтно разбирать, где там цифры, где буквы.

Вот тут описание BlockRead и пример чтения файла побайтно (неожиданная ссылка):
http://www.delphisources.ru/pages/fa...kRead.php.html

Проверить, что символ является цифрой:
Код:
if AChar in ['0'..'9'] then...

буквой:
Код:
if AChar in ['a'..'z', 'A'..'Z'] then...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:30.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter