Доброго времени суток, уважаемые эксперты! Пытаюсь написать первую в своей жизни базу данных с использованием архитектуры InterBase.В связи с чем появилась проблема следующего характера. Мне нужно организовать синхронный поиск по базе, то есть, при вводе значения в DBEdit, курсор в DBGrid перемещается в максимально близкую по смыслу с введеным значением позицию. Буду благодарен за любые мнения, предложения и советы. За ранее благодарю. Дмитрий.
Доброе время суток, Дмитрий! Для поиска в индексированых полях можно применять метод FindKey(). Если индекса нет, то поможет метод Locate(). По отображению таблицы курсор будет двигаться автоматически. Ответ отправлен: 01.11.2004, 05:45 Отправитель: sir henry Отвечает Alex
Доброе время суток, Дмитрий! В SQL есть оператор LIKE, который позволяет выбирать данные, которые соответствуют заданому шаблону. Ответ отправлен: 01.11.2004, 16:48 Отправитель: Alex
Вопрос № 1898
Подскажите пожалуйста функцию в Delphi с помощью которой можно убить процесс
Доброе время суток, Александр! ExitProcess, TerminateProcess Ответ отправлен: 01.11.2004, 13:09 Отправитель: Vet Отвечает sir henry
Доброе время суток, Александр! Именно в Дельфи такой функции нет, а вот в WinAPI есть. :) function TerminateProcess(hProcess: THandle; uExitCode: UINT): BOOL; stdcall; Надо только правильный хэндл процесса написать. Ответ отправлен: 01.11.2004, 05:56 Отправитель: sir henry Отвечает --- Нет данных ---
Доброе время суток, Александр! KillProcess iz WinAPI Ответ отправлен: 01.11.2004, 15:45 Отправитель: --- Нет данных --- Отвечает Alex
Приветствую Вас, Александр! TerminateProcess. Это функция WinAPI.
Ответ отправлен: 01.11.2004, 16:53 Отправитель: Alex Отвечает CJ
Здравствуйте, Александр! Используй функции работающие с графикой. Ответ отправлен: 01.11.2004, 20:21 Отправитель: CJ
Вопрос № 1899
Товарищи экперты! Пожалуйста, помогите! Дайте программный код Делфи по следующим задачам: 1. Дана строка. Проверить, является ли первое и последнее слово "перевертышем" (как например "шалаш", "Анна") 2. Дана строка. Вывести строку в обратном порядке. Пожалуйста, помогите. Это очень важно.
Приветствую Вас, Андрей! Для этого есть целый модуль StrUtils Ответ отправлен: 01.11.2004, 15:45 Отправитель: --- Нет данных --- Отвечает Alex
Добрый день, Андрей! 1. function IsReverse(Str: string): Boolean; var I: Integer; StrLen: Integer; begin Result := True; StrLen := Length(Str); for I := 1 to StrLen div 2 do if Str[I] <> Str[StrLen-I+1] then begin Result := false; Exit; end; end; 2. procedure WriteFromEnd(Str: string); var I: Integer; begin for I := length(str) downto 1 do Write(str[I]); end;
Ответ отправлен: 01.11.2004, 17:19 Отправитель: Alex Отвечает Vet
Доброе время суток, Андрей! 1. Не понятно,что нужно проверить - первое и последнее слова являются "перевёртышами" независимо друг от друга или первое слово = второму "наоборот". Вот реализация 2-х вариантов: // 1) функция проверки слова на "перевёртываемость" function VerifyString(Str: string): boolean; var i: integer; begin Str:=AnsiLowerCase(Trim(Str)); if Str<>'' then begin Result:=true; for i:=1 to Length(Str) div 2 do if Str[i]<>Str[Length(Str)+1-i] then begin Result:=false; Exit; end; end else Result:=false; end; // 2) функция проверки равенства первого слова // строки "перевёрнутому" последнему function Compare2Words(Str: string): boolean; var FirstWord,LastWord: string; i: integer; begin Str:=AnsiLowerCase(Trim(Str));
if Pos(' ',Str)>0 then begin FirstWord:=Copy(Str,1
,Pos(' ',Str)-1); while Pos(' ',Str)>0 do Delete(Str,1,Pos(' ',Str)); LastWord:=''; for i:=Length(Str) downto 1 do LastWord:=LastWord+Str[i]; if FirstWord=LastWord then Result:=true else Result:=false; end else Result:=false; end; 2. Здесь тоже неясно, вывести строку в обратном порядке по буквам или по словам. Рассмотрим оба варианта: function ReverseString(Str: string): string; var i: integer; begin Result:=''; // В обратном порядке по буквам for i:=Length(Str) downto 1 do Result:=Result+Str[i]; // В обратном порядке по словам Str:=Str+' '; while Str<>'' do begin Result:=Copy(Str,1,Pos(' ',Str))+Result; Delete(Str,1,Pos(' ',Str)); end; Result:=Trim(Result); end; P.S. Задавай вопросы поконкретнее,или я чего-то не понимаю :( Ответ отправлен: 01.11.2004, 20:33 Отправитель: Vet
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.