Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

search   Найти похожие ветки 

 
ANDREI   (2004-12-01 16:15) [0]

Еще раз привет мастерам! Наболел еще один вопрос в моей программе.
Есть stringgrid и edit при наборе в edite в stringgride должна выделяться строка содержащая в начале введенные символы без учета первого пробела(если он есть) и регистра (короче поиск).
Делаю я это так :

procedure TForm1.Edit8KeyUp(Sender: TObject; var Key: Word;
 Shift: TShiftState);
 var
 i,e: integer;
 s,g: string;
 
 begin
 if edit8.Text="" then exit else begin
i:=0;
e:=0;
i:=edit8.GetTextLen;
s:=ansilowercase(trim(edit8.Text));
repeat
inc(e);
g:=ansilowercase(trim(stringgrid6.cells[1,e]));
until (copy(s,1,i)=copy(g,1,i)) or(stringgrid6.cells[1,e]="") ;
if copy(s,1,i)=copy(g,1,i)
then begin
stringgrid6.Row:=e;
end;

end;end;

но при этом при наборе пробела, stringgrid выбрасывает на первую
пустую строку. Вопрос куда смотрит  trim и как заставить
его работать?


 
Amadey   (2004-12-01 16:34) [1]

По-=моему ошибка тута:
s:=ansilowercase(trim(edit8.Text));
и тута
g:=ansilowercase(trim(stringgrid6.cells[1,e]));
Если в первом варианте у тебя в поле пробел, то после трима это будет пустая строка, на которую тебя и выкидывает.


 
begin...end ©   (2004-12-01 16:39) [2]

> ANDREI   (01.12.04 16:15)

В обработчик Edit.OnChange:

var
 I: Integer;
 S: String;
begin
 S := AnsiLowerCase(TrimLeft((Sender as TEdit).Text));
 if S <> EmptyStr then
   with StringGrid do
     for I := 1 to RowCount - 1 do
       if Cells[1, I] <> EmptyStr then
         if Pos(S, AnsiLowerCase(Cells[1, I])) = 1 then
         begin
           Row := I;
           Break
         end
end.


P.S. Не проверял.


 
ANDREI   (2004-12-01 16:41) [3]

Пробовал ставить trim при проверке условия until - тоже самое.


 
ANDREI   (2004-12-01 16:41) [4]

Пробовал ставить trim при проверке условия until - тоже самое.


 
ANDREI   (2004-12-01 16:47) [5]

>>begin...end ©   (01.12.04 16:39) [2]
Сейчас проверить возможности нет но обязательно попробую. Спасибо! А варианты реставрации этого кода есть?


 
begin...end ©   (2004-12-01 16:55) [6]

> [5] ANDREI   (01.12.04 16:47)

> А варианты реставрации этого кода есть?

Есть, один из вариантов реставрации приведён в [2]. :-)

Кстати, в [2] я не учёл, что Вам надо ещё и строку в StringGrid"е trim"ать...



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
14-1101910349
syte_ser78
2004-12-01 17:12
2004.12.19
как лечится?


4-1099381257
bigcrush
2004-11-02 10:40
2004.12.19
Непонятная работа хука на WH_GETMESSAGE


8-1096016836
dracula
2004-09-24 13:07
2004.12.19
как из midi файла прочитать тэги


1-1101980982
PURGEN
2004-12-02 12:49
2004.12.19
Tedit


3-1100534722
Ivan_
2004-11-15 19:05
2004.12.19
Ошибка в TIBQuery