![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск по DBF [D7, XP]
KillaTank © (2009-03-09 14:59:00)У меня проблема создал программу для работы с БДФ, все работает кроме поиска, может кто поможет найти ошибку? Вот исходник кода:
procedure TForm1.Button2Click(Sender: TObject);
var rtext,rpole:string;
begin
Rtext:=Edit2.Text;
Rpole:=Table1.Fields[ComboBox2.ItemIndex].FieldName;
Dbgrid1.visible:=False;
Isk(Table1,Rtext, Rpole);
Dbgrid1.visible:=True;
end;
AndreyV (2009-03-09 19:20:00) [1]> [14] AndreyV © (09.03.09 17:49)
> [12] KillaTank © (09.03.09 15:35)
> goto Nach;
Ja, ja, sehr gut gesprochen! (Да, да, очень хорошо сказано!).
Второе слово в цитате на немецком по смыслу и фонетически для русского слуха воспринимается символично в сочетании с первым на английском.
Собственно к тому, что весь код (не автор) воспринимается примерно так же.
Palladin (2009-03-09 18:38:00) [2]У меня такое ощущение, что изначально это писАлось на ассемблере )
Сергей М. (2009-03-09 18:38:00) [3]
> If (Rrecno = TBookmark(oTable.Recno))
Это что за безобразие ?
MsGuns (2009-03-09 18:18:00) [4]Господи милостивый, отец всемогущий, спаси и сохрани
AndreyV (2009-03-09 17:49:00) [5]Удалено модератором
Примечание: Перепиши на немецком, ибо http://www.delphimaster.ru/forums.shtml#rule Запрещается: п.8
Anatoly Podgoretsky (2009-03-09 16:51:00) [6]Сейчас народ вздрогнет!!!
KillaTank (2009-03-09 15:35:00) [7]Вот сама функция
function Isk( oTable: TTable;var Istr:String; var Pstr:String): Integer;
var RRecno: TBookmark;
Napr: Integer;
label ZYes,ZNo,ZNo2,Nach;
begin
////SetWindowsHookEx()
Napr:=0;
Result := 0;
Form1.MyEsc:=False;
RRecno:=oTable.GetBookmark;
oTable.Next;
Nach:
while not oTable.Eof do
begin
Result :=AnsiPos(Istr,oTable.FieldByName(Pstr).AsString);
// MyBrowse.SetFocus;
if Form1.MyEsc then goto ZNo;
if Result >0 then goto ZYes;
Application.ProcessMessages();
oTable.next;
If (Rrecno = TBookmark(oTable.Recno)) then goto Zno;
end;
ZNo:
oTable.GotoBookmark(Rrecno);
// ShowMessage('Не найдено ' + Istr);
if (Napr = 0) and
(MessageDlg('Не найдено ' + Istr+'. Продолжить поиск с начала ?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes)
then
begin
Napr:=1;
oTable.First;
goto Nach;
end else showmessage('Не найдено ' + Istr);
goto ZNo2;
ZYes:
oTable.CursorPosChanged;
MessageBeep(MB_OK);
Napr:=0;
ZNo2:
Form1.MyEsc:=False;
oTable.FreeBookmark(Rrecno);
end;
KillaTank (2009-03-09 15:27:00) [8]спс большое
Сергей М. (2009-03-09 15:24:00) [9]
> Не могу никак понять
Надо переписать процедуру Isk.
Плохиш (2009-03-09 15:23:00) [10]
> KillaTank © (09.03.09 15:20) [7]
Попробуй обратиться к автору этого произведения.
Плохиш (2009-03-09 15:23:00) [11]
> KillaTank © (09.03.09 15:20) [7]
Попробуй обратиться к автору этого произведения.
KillaTank (2009-03-09 15:20:00) [12]Вообще он запускается. Но когда ввожу в поле данные для поиска пишет, что не найденно тото и предалгает начать поиск с начала. Потом если соглашаюсь, пишет что не найденно.
KillaTank (2009-03-09 15:16:00) [13]
> > что именно?
>
>
> Сам-то как думаешь ?
Если бы я знал в чем ошибка я так и писал. Не могу никак понять((
Сергей М. (2009-03-09 15:13:00) [14]
> что именно?
Сам-то как думаешь ?
Palladin (2009-03-09 15:12:00) [15]Ну я даже не знаю, что тебе ответить. Такая жалость проснулась, к тебе и подобным...
KillaTank (2009-03-09 15:10:00) [16]и как ее исправить?
KillaTank (2009-03-09 15:09:00) [17]глупый вопрос, что именно?
Palladin (2009-03-09 15:01:00) [18]ошибка в 7 строке, это очевидно