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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.03.2007, 08:29   #11
Prowler
Форумчанин
 
Регистрация: 30.11.2006
Сообщений: 128
По умолчанию

Лучше и проще испльзовать TStringList.
nosce te ipsumj...
Prowler вне форума
Старый 12.03.2007, 18:50   #12
CMP
Пользователь
 
Регистрация: 09.03.2007
Сообщений: 20
По умолчанию

Помогите пожалуйста с поиском:

while not EOF(f) do
begin
readln(f, buf);
n2:=Length(shortStr); //длина слова заносится в n2
Source2 :=buf;
Target2 := Copy(Source2,1,1); //копируем первую букву у выводимых слов
Memo1.Lines.Add(buf); //сюда выводятся все слова из файла

как найти слово ,удовлетворяющие условию target=target2 ? (последняя буква слова ,введённая игроком=первой букве слова из файла)

По идее нужно проверять каждое слово в memo1 до пробела, если слово не удовлетворило условию поиска, то поиск идёт дальше, а если слово удовлетворяет условию поиска, то оно выводится в label или ещё куда-нибудь. Вот с этим проблемы.
CMP вне форума
Старый 14.03.2007, 08:41   #13
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Вспомни, что я тебе говорил про массив слов...
Можно создать обычный двууровневый массив и заполнять его словами что-то вроде:
Код:
type Words = set of strings[20];
var
  Mas: array [1..32] of Words;
Но если ты все-таки настаиваешь на чтении из файла напрямую, то следует создать одну переменную (внутрипроцедурную) типа Char и делать таким образом:
Код:
FirstChar:=Edit1.text[length(Edit1.text)]; //получаем последний символ введенного слова
if (((FirstChar>='а') and (FirstChar<='я')) or (FirstChar=#184)) then FirstChar=chr(ord(FirstChar)-32); //подобие UpperCase - если символ прописной, преобразуем в заглавный
For i:= 0 to Memo1.Lines.Count-1 do
 begin
  S:=Memo1.Lines.Strings[i];
  if FirstChar=S[1] then //Мы проверили совпадение символов первой и последней букв в искомых словах
Будет работать, как часы. Дальше дописываешь свой код и все!
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума
Старый 14.03.2007, 16:09   #14
CMP
Пользователь
 
Регистрация: 09.03.2007
Сообщений: 20
По умолчанию

Спасибо! Только выскакивает 2 ошибки ,показывает на условие if FirstChar=S[1] then .Сначала процесс останавливается программой, затем запускаю вновь и снова выдаётся ошибка.Но город на нужную букву всё же выводится))
Вот как я оформил:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f:TextFile;
fName:string[80];
buf:string[80];
       i:integer;
       s : string;
FirstChar:char;
begin
 timer1.Enabled:=false;
          fname:='D:\Program Files\Borland\Delphi7\Projects\Kursovik\sity.txt';
          AssignFile(f, fName);
          {$I-}
          Reset(f);
          {$I+}
          if IOResult<>0 then
          begin
          MessageDlg('Нет доступа к ' +fName, mtError, [mbOK],0);
          exit;
          end;

          while not EOF(f) do
          begin
          readln(f, buf);
          Memo1.Lines.Add(buf);
          end;
          CloseFile(f);

   FirstChar:=Edit1.text[length(Edit1.text)]; //получаем последний символ введенного слова
if (((FirstChar>='а') and (FirstChar<='я')) or (FirstChar=#184)) then FirstChar:=chr(ord(FirstChar)-32); //подобие UpperCase - если символ прописной, преобразуем в заглавный
For i:= 0 to Memo1.Lines.Count-1 do
 begin
  S:=Memo1.Lines.Strings[i];
   if FirstChar=S[1] then //Мы проверили совпадение символов первой и последней букв в искомых словах
   label2.caption:=S;//Это вместо memo1, туда выводится нужное слово
      end;
    end;
end.
В чём ошибка?
CMP вне форума
Старый 14.03.2007, 21:41   #15
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Напиши, какую ошибку выдает компилятор.
И не забудь создать процедуру проверки на повторение и существование в базе.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума
Старый 15.03.2007, 16:19   #16
CMP
Пользователь
 
Регистрация: 09.03.2007
Сообщений: 20
По умолчанию

http://programmersforum.ru/attachmen...1&d=1173964707 первая ошибка.

http://programmersforum.ru/attachmen...1&d=1173964743 вторая.

Процедуру проверки почти сделал.
Изображения
Тип файла: jpg 190.JPG (17.4 Кб, 147 просмотров)
Тип файла: jpg 1901.JPG (9.8 Кб, 153 просмотров)
CMP вне форума
Старый 25.03.2007, 15:41   #17
CMP
Пользователь
 
Регистрация: 09.03.2007
Сообщений: 20
По умолчанию

Люди, помощь ещё требуется!
CMP вне форума
Старый 04.04.2007, 08:38   #18
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Так.... Довольно-таки интересно, потому что компилятор показывает на обращение к недоступной ему величине и в синтаксисе ошибок нет. Ты уверен, что он не записывает в переменную S нулевую строку?
Кстати, у Memo.Lines есть процедура чтения из файла, советую использовать именно ее.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума
Старый 21.09.2009, 22:31   #19
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Motivation: ANR.
Тема закрыта в рамках "Рейда против некрофилии"
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиграем в города? Hallo Свободное общение 178 24.07.2011 23:35
Карта города zzzzz Общие вопросы Delphi 16 15.06.2011 15:19
создание карты города Коржик Общие вопросы Delphi 8 13.08.2009 04:54
Карта города Vadimok Общие вопросы Delphi 4 26.08.2008 17:36
Карта города 2 Archangel Помощь студентам 3 04.03.2007 05:19