Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c