Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> С Delphi на pascal - подправте мой код, с delphi на pascal 
V
    Опции темы
Ak47black
  Дата 8.10.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Здравствуйте.
Пришлось мне тут написать на Pascal.  smile 
Вот такой код сделал.
Код

program Inverse;
  
function DoInverse(InStr: String): String;
var
  i: Integer;
  e: Integer;
  words: array of String;
  CurrentWord: String;
  LastAdded: Boolean;
begin
  CurrentWord:= '';
  LastAdded:= False;
  for i:= 1 to Length(InStr) do
  begin
    if ( (InStr[i]<>' ') and (InStr[i] <> #10) and (InStr[i] <> #13) ) then
    begin
      CurrentWord:= CurrentWord + InStr[i];
      LastAdded:= False;
    end;

    if (( (InStr[i] = ' ') or (InStr[i] = #10) or (InStr[i] = #13) or (i = Length(InStr) ))
     and (not LastAdded) )  then
    begin
      SetLength(words, Length(words)+1);
      words[Length(words)-1]:= CurrentWord;
      CurrentWord:= '';
      LastAdded:= True;
    end;
  end;

  for i:= 0 to Length(words)-1 do
  begin
    for e:= 1 to Length(words[i]) do
      CurrentWord:= words[i][e] + CurrentWord;
    Result:= Result + CurrentWord + ' ';
    CurrentWord:= '';
  end;
end;

procedure OnTheContraryTextFile(Path: String);
var
  f: TextFile;
  Text: String;
  Buf: String;

begin
  AssignFile(f, Path);
  Reset(f);
  if IOResult = 0 then
  begin
    while not EOF(f) do
    begin
      Readln(f, Buf);
      Text:= Text + Buf;
    end;
    Text:= DoInverse(Text);
    Writeln(Text);
  end
  else
    WriteLn('Error.');
end;

begin
  OnTheContraryTextFile('Test.txt');
  ReadLn;
end.

На delphi все естествено работает.
Но при вставке в Free Pascal пишет 
Цитата

Identifier  not found "result" 

Короче жесть  smile .
Ну и еше какойто uses нуна закинуть для AssignFile.
Подскажите пожалуйста что добавить что-бы скомпилить  smile 

Это сообщение отредактировал(а) Ak47black - 8.10.2007, 20:27
PM MAIL   Вверх
MetalFan
Дата 8.10.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: нет
Всего: 128



в паскале, AFAIK, нет result, пиши  DoInverse :=


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
volvo877
Дата 8.10.2007, 21:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(MetalFan @  8.10.2007,  19:27 Найти цитируемый пост)
в паскале, AFAIK, нет result, пиши  DoInverse := 

В Паскале может и нет, а в FPC очень даже есть...

Ak47black, проверь, что выбрана совместимость с Дельфи (Options -> Compiler -> Syntax -> Delphi compatible) или установи ее принудительно: {$mode delphi} первой строкой программы... Только что проверил, FPC 2.2.0 компилирует на ура...
PM MAIL   Вверх
Alix
Дата 8.10.2007, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: нет
Всего: 23



в borland pascale, имхо, есть.... хотя вру наверное. А вместо AssignFile попробуй просто Assign.


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
Ak47black
Дата 9.10.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Alix, да это так.
Я вчера это понял.
А так еше как я понял в паскале нету динамических массивов.
А вообщем я уже сделал (только галочку я вчера плохо поставил, хотя вроде нажимал).

Это сообщение отредактировал(а) Ak47black - 9.10.2007, 14:55
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.