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

Вниз

Delphi. Поиск и удаление в телефонном справочнике   Найти похожие ветки 

 
Hadgi ©   (2008-10-27 04:52) [0]

Пишу справочник в Delphi. В программировании новичок.
Для справочника использую компонент StringGrid (так надо преподу), 5 штук TButton, 3 штуки TRadioButton.
Не могу вообщем организовать процедуру удаления и поиска абонента в StringGride. Поможите на этом месте...


 
Сергей М. ©   (2008-10-27 08:32) [1]

см., например, TStringGrid.Rows/Cols.IndexOf


 
Hadgi ©   (2008-10-27 13:57) [2]

Всмысле? Вроде все свойства грида перепробовал - не получается. я код не понимаю как составить для удаления и поиска...


 
Сергей М. ©   (2008-10-27 14:00) [3]


> Вроде все свойства грида перепробовал - не получается


Показывай как пробовал ..


 
Hadgi ©   (2008-10-27 14:21) [4]

для удаления:

for i:=3 to StringGrid1.RowCount-1 do //-1, т.к. нумерация с 0
for j:=1 to StringGrid1.ColCount-1 do //-1, т.к. нумерация с 0
StringGrid1.Cells[j,i]:=StringGrid1.Cells[j,i+1];
for j:=1 to StringGrid1.ColCount-1 do
StringGrid1.Cells[j,i]:="";
StringGrid1.RowCount:=StringGrid1.RowCount-1;
StringGrid1.SetFocus;
Этот код удаляет строки а не их содержимое.. хотелось бы ещё чтобы удалялась выделенная область с информацией в строке....

а для поиска вобще непонимаю... как сделать чтобы выводилось найденное... вот и прошу помощи...


 
Сергей М. ©   (2008-10-27 14:27) [5]


> для поиска вобще непонимаю


[1] внимательно рассматривал ?
Что тебе там не пониятно ?


> как сделать чтобы выводилось найденное


Куда выводилось-то ?


 
clickmaker ©   (2008-10-27 14:27) [6]

> а для поиска вобще непонимаю

в стринггриде нет встроенных методов для поиска.
Перебором придется, цикл по ColCount/RowCount


 
Hadgi ©   (2008-10-27 14:43) [7]

В поиске непонятно каким образом организовать отбор нужных данных, если через условные операторы, то каким образом организовать их работу? А найденное чтобы выводилось в окне поиска...


 
Сергей М. ©   (2008-10-27 14:51) [8]

Для "отбора" данных в интересующей ячейке существует свойство Cells[]


 
Hadgi ©   (2008-10-27 14:58) [9]

То есть если в условие True, то организовывать вывод найденного на экран, а если False (else), то выводить сообщение о том, что ничего не найдено? !


 
Сергей М. ©   (2008-10-27 15:00) [10]

Это уж как твоей (или препода) душе будет угодно


 
Hadgi ©   (2008-10-27 15:09) [11]

вот так вот организовал запись в файл, вроде переменные инициированы, но делфи прикопался к grid.colcount и grid.rowcount (подчёркнул их красной волнистой линией)... из-за чего? не пойму...

procedure TForm1.Button5Click(Sender: TObject);
var
f: textfile;
i, j: integer;
begin
assignfile(f,Filename);
rewrite(f);
writeln(f, grid.colcount);
writeln(f, grid.rowcount);
for i := 0 to grid.colcount - 1 do
for j := 0 to grid.rowcount - 1 do
writeln(F, grid.cells[i, j]);
closefile(f);
end;


 
Сергей М. ©   (2008-10-27 15:14) [12]

нажми CTRL-F9, произойдет попытка компиляции пргограммы
Ошибки в тексте программы, если таковые имеются, ты увидишь в открывшейся панели внизу окна с этим текстом



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
15-1222862652
vajo
2008-10-01 16:04
2008.12.07
Как отключить кнопки тачпада ноутбука?


3-1210858706
Hiller
2008-05-15 17:38
2008.12.07
Транзакции в ADO


15-1222931778
JohnKorsh
2008-10-02 11:16
2008.12.07
Вопрос по работе с сетью.


6-1196066866
tytus
2007-11-26 11:47
2008.12.07
как заставить Indy 10 передавать тело письма по русски ?


15-1223209888
Dez3uk
2008-10-05 16:31
2008.12.07
таблицы в Word и Exel