Plz daite literaturu po Turbo Pascal (v inete)
смотря что ты подразумеваешь под "читать фром техт файл". Функции read и write модуля system устроят?
Для более тонких операций над текстовыми файлами прийдется освоить очень древний паскалевский способ.
Итак, для доступа к текстовым файлам используется переменная типа TextFile. До сих пор не совсем понимаю что это такое физически - что-то типа "внутреннего" паскалевского Handle на файл.
Итак чтобы ассоциировать файл на диске с переменной надо проделать следующие опрерации:
1) Определяем файловую переменную:
var f:TextFile;
2) Ассоциируем ее:
AssignFile(F, 'c:\MyFile.txt');
3) Теперь надо этот файл открыть, есть 3 варианта:
- файла нет или он должен быть перезаписан, открытие для записи:
Rewrite(f)
- файл есть и его надо открыть для чтения (с первой строки)
Reset(f)
- файл есть и его надо открыть для дописования строк в конец
Append(f)
Как видите не хватает очень полезных функций таких как открытия файла для чтения с произвольной строки и для записи в файл произвольной строки. Но надо учесть, что так как длины строк разные, не существует никакого способа узнать физическое место начала например 1000 строки, не прочитав всю тысячу строк. Для записи ситуация еще сложнее - вставить строку означает перезаписать всю информацию после этой строки заново. Таким образом варианты только следующие:
- Перезаписать весть файл
- Читать с первой строки
- Дописать что-то в конец
- Читать и писать файл целиком (см. выше работу через TStrings)
В конце работы открытый файл нужно закрыть:
CloseFile(f);
Теперь пусть у нас есть строковая переменная s для чтения строки из файла
Чтение предварительно открытого файла:
ReadLn(f, s) - будет прочитанна текущая строка и позиция чтения переведена на следующую позицию.
А как прочитать весь файл?
While not eof(f) do
begin
ReadLn(f, s);
{здесь делаем что-то с прочитанной строкой}
end;
с файлами еще можно работать как не с текстовыми, а обычными файлами. Тогда можно пользоваться функциями seek и записи/считывания нескольких рекордов (байтов, например). Не помню, как эти функции называются. Комбинирование работы с файлами как с текстовыми и как с нетекстовыми вполне покрывает все разумные нужды.
Potomu kak programmu nado napisat' v samoe bligaishee vremya, na izuchenie chego-to kardinalno novogo, tipa C++, vremeni net
UPD A ishodnik Borland Pascal - eto shareware ili ego mogno gde-to skachat'?
Паскаль вроде можно нахаляву скачать - поиск по Free Paskal должен наверно что то дать (не уверен, что Паскаль так пишется )
не уверен, что Паскаль так пишетсяa v moem poste posmotret' ne sud'ba?
Prosto obichnii variant Pascalya gluchit s superpuperprotzami (dage s Athlon XP2000+, chto tam govorit' o Core2 moget kto-to znaet gde dostat' otkompillirovannuu pod sovremennie sistemi sredu.
turbo pascal сделан под дос, процы тут почти не при чём
впрочем, некоторые несложные и даже сложные вещи, откомпилированные в TP7.0 и даже в TP5.5, успешно работают под виндой.
free pascal поищи, тебе уже сказали.Очень даже причем - стандартный турбопаскаль падает при попытке определения скорости процессора (это нужно для нормировки времени в функции sleep). Против этого есть сторонний фикс, но я не знаю где его скачать.
turbo pascal сделан под дос, процы тут почти не при чём
Против этого есть сторонний фикс, но я не знаю где его скачать.Если ты про E200Patch, то он есть у меня.
var
f: texile;
s: string;
begin
AssignFile(f, "a.txt");
Reset(f);
while not EOF(f) do
begin
readln(f, s);
{тут обрабатываешь строку s}
end;
CloseFile(f);
end;
Всем устраивает, я собственно спрашивал, насколько сильна ломка при переходе на него с паскаля. A ты можешь выложить исходник куда-нибудь в пределах видимости твоего гейта?
Против этого есть сторонний фикс, но я не знаю где его скачать.Ищется быстро.
А ломки (у меня, например вообще не было, благо хелп удобный.
Оставить комментарий
shustya08
Nugno sostavit' programmu, a ya ego uge voobsche ne pomnuSrazu ge vopros - Pascal umeet chitat' from text file?