Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2008, 19:25   #11
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

не понимаю какие служебные слова могут быть в текстовом файле, тоесть программа для вывода .pas файлов? =) видимо нет раз точки с запятыми не нужны...я полностью написать не успею, уезжаю...а ты вообще ничего не понимаешь или конкретно сортировку того что выводить? вобщем вот создание и чтение из файла, надо дописать что конкретно выводить и сортироовку в алфавитном порядке.
Код:
var
f:file of string;
t:string;
begin
write('vvedite soderzhimoe faila: ');
readln(t);
assign (f,'c:\1.txt');
rewrite(f);
write(f,t);
close(f);
assign(f,'c:\1.txt');
reset(f);
while not eof (f) do
begin
read(f,t);
writeln(t);
close(f);
readln;
end;
end.
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 16.03.2008, 19:48   #12
Paul11j
Пользователь
 
Регистрация: 15.03.2008
Сообщений: 19
По умолчанию

А как дописать что выводить на экран я точно не знаю
Paul11j вне форума Ответить с цитированием
Старый 16.03.2008, 20:45   #13
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
не понимаю какие служебные слова могут быть в текстовом файле
кажется Delphi-редактор тогда.

Ну типа "procedure" "Function" помечалось жирным шрифтом. я так понял.

Если напишите, пожалуйсто, выложите код, я сам над подобной темой долбился, а кроме констант и 2-х зарезервированных слов ничего не вышло.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 16.03.2008, 21:13   #14
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Код:

const maxKeyWord = 4; // Остальные сами допишете
      KeyWords : array [1..maxKeyWord] of String =
        ('function', 'procedure', 'begin', 'end');

function isKeyWord(S:String):boolean;
var i:integer;
begin
   result := false;
   for i:=1 to maxKeyWord do begin
      if upper(S) = upper(KeyWords[i]) then begin
         result := true;
         // Можно еще чтобы не было повторов
         //KeyWords[i] := '';
         break;
      end;
   end;
end;

procedure nextWord(S:String);
begin
   // Если вообще все латинские слова, то здеcь и выводим
   // writeLn(S);
   // Если нужна проверка является ли слово ключевым
   if (length(S) > 0) and isKeyWord(S)
   then Form1.ListBox1.Items.Add(S); // =writeLn(S);
end;

var F:textfile; // = text
    S, S1:String;
    i:integer;
begin
   assignFile(F, 'C:\1.pas'); // = assign
   reset(F);
   While not EOF(F) do begin
      Readln(F, S);
      S1 := '';
      for i:=1 to length(S) do begin
         if S[i] in ['A'..'Z', 'a'..'z']
         then S1 := S1 + S[i]
         else begin
            nextWord(S1);
            S1 := '';
         end;
      end;
      nextWord(S1);
   end;
   closeFile(F); // = close
end;
alexBlack вне форума Ответить с цитированием
Старый 16.03.2008, 21:29   #15
Paul11j
Пользователь
 
Регистрация: 15.03.2008
Сообщений: 19
По умолчанию

ЗА КОД ОГРОМНОЕ СПАСИБО!!!!!!!
Но по-моему это программа на Delphi, а мне нужно на Паскале. Извините если ошибаюсь.

Последний раз редактировалось Paul11j; 16.03.2008 в 21:33.
Paul11j вне форума Ответить с цитированием
Старый 16.03.2008, 21:33   #16
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Я там пометки сделал //=. Где не будет компилироваться просто заменить.
alexBlack вне форума Ответить с цитированием
Старый 16.03.2008, 21:40   #17
Paul11j
Пользователь
 
Регистрация: 15.03.2008
Сообщений: 19
По умолчанию

А что такое upper, как его у варе прописать?
Paul11j вне форума Ответить с цитированием
Старый 16.03.2008, 21:44   #18
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Привести к верхнему регистру. В pascal по-моему upperCase().
Да и в Delphi тоже. Это моя бибилиотека была подключена.
alexBlack вне форума Ответить с цитированием
Старый 16.03.2008, 21:54   #19
Paul11j
Пользователь
 
Регистрация: 15.03.2008
Сообщений: 19
По умолчанию

if upcase(S) оно пишет что предшествующее выражение должно иметь символьный тип, я так понял что это выражение -upcase

Последний раз редактировалось Paul11j; 16.03.2008 в 21:58.
Paul11j вне форума Ответить с цитированием
Старый 16.03.2008, 22:17   #20
Paul11j
Пользователь
 
Регистрация: 15.03.2008
Сообщений: 19
По умолчанию

alexBlack->если не сложно можеш переделать для Паскаля, а то в Делфи я ничего не понимаю
p.s. буду учить только в следующем году
Paul11j вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, анализирующая текстовые файлы и строящая графики Karabister Фриланс 15 08.06.2008 15:30
текстовые файлы ОЧЕНЬ НУЖНА ПОМОЩЬ leest Помощь студентам 6 30.01.2008 10:05
Текстовые файлы на С Raptor Общие вопросы C/C++ 15 26.01.2008 21:06
Текстовые файлы(задачка). Vadim2008 Общие вопросы C/C++ 1 11.01.2008 16:45