Вопрос № 109088: Здравствуйте!!! Подскажите пожалйста, как удалить строку i в компоненте TStringGrid. Мои попытки не увенчались успехом.
Я использовал в Delphi 7:
Rows.Delete(i) - ничего не делает (ошибка компиляции)
Rows[i].Delete(1) - ошибка (не может у...Вопрос № 109206: Уважаемые эксперты!
Как сделать, чтобы в компоненте DBGrid (D7) можно было перемещать подсвеченную строку "колесиком" "мыши" в пределах всех записей подключенной к DBGrid таблицы (обычно перемещается только в пределах отобража...Вопрос № 109207: Добрый день уважаемые эксперты! У меня возникла необходимость написать прогу которая должна дозваниваться по определённому номеру телефона, или по созданому в системе соединению (подключение к сети на рабочем месте), подключаться
к FTP-серверу и из о...
Вопрос № 109.088
Здравствуйте!!! Подскажите пожалйста, как удалить строку i в компоненте TStringGrid. Мои попытки не увенчались успехом.
Я использовал в Delphi 7:
Rows.Delete(i) - ничего не делает (ошибка компиляции)
Rows[i].Delete(1) - ошибка (не может удалить). Это, как я вычитал потом, удаляет 1 ячейку в i строке.
В общем надо удалить строку из StringGrid программно в Delphi 7.
Спасибо за внимание
Отправлен: 12.11.2007, 17:17
Вопрос задал: piit (статус: Студент)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Mishell
Здравствуйте, Piit!
в TStringGrid нет стандартного удаления строки - можно только изменить кол-во строк
поэтому придется перенести данные из всех строк ниже на строку выше, после чего уменьшить кол-во строк в таблице на 1
Ответ отправил: Mishell (статус: 7-ой класс)
Ответ отправлен: 12.11.2007, 17:22 Оценка за ответ: 5
Отвечает: Yumark
Здравствуйте, Piit!
Я делал следующим образом:
1) Значения i-той строки заменял значением последней строки.
2) Уменьшал количество строк TStringGrid на единицу.
P.S.: Это хорошо, если массив не отсортирован.
Ответ отправил: Yumark (статус: 2-ой класс)
Ответ отправлен: 12.11.2007, 17:43 Оценка за ответ: 5 Комментарий оценки: Просто супер!!!
Отвечает: Gh0stik
Здравствуйте, Piit!
верно замечено в предыдущем ответе, потому следует писать свою процедуру, которая и будет выполнять указанные действия:
procedure DelRow(SGrid:TStringGrid; _row:integer); var i,j:integer; begin with SGrid do for i:=_row-1 to RowCount-2 do for j:=0 to ColCount-1 do begin
Cells[j,i]:=Cells[j,i+1]; end; SGrid.RowCount:=SGrid.RowCount-1; end;
А вот непосредственно вызов процедуры: DelRow(StringGrid1,3); //удаляем из StringGrid1 3-ю строку.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 12.11.2007, 18:08 Оценка за ответ: 5
Вопрос № 109.206
Уважаемые эксперты!
Как сделать, чтобы в компоненте DBGrid (D7) можно было перемещать подсвеченную строку "колесиком" "мыши" в пределах всех записей подключенной к DBGrid таблицы (обычно перемещается только в пределах отображаемых в данный момент записей).
Отвечает: Mishell
Здравствуйте, Петров Николай!
нужно "ловить" событие WM_MOUSEWHEEL и в нем уже управлять перемещением по строкам - вот тут есть пример:
http://delphiworld.narod.ru/base/dbgrid_wheel_correct.html
Ответ отправил: Mishell (статус: 7-ой класс)
Ответ отправлен: 13.11.2007, 14:44 Оценка за ответ: 5 Комментарий оценки: Большое спасибо.Все работает как хотелось
Вопрос № 109.207
Добрый день уважаемые эксперты! У меня возникла необходимость написать прогу которая должна дозваниваться по определённому номеру телефона, или по созданому в системе соединению (подключение к сети на рабочем месте), подключаться к FTP-серверу и из одной папки загружать на мой комп имеющиеся там файлы, после загрузки удалять файлы с FTP, а в другую папку отправлять файлы с моего компа. Подскажите как все это можно реализовать (желательно с примерами), или дайте ссылки на ресурсы в сети по данной проблеме. Желательно
подробные ответы, потому что я в основном пишу проги для роботы с базами.
Отвечает: Проходящий Мимо
Здравствуйте, Кисель Вадим!
Наведу пример работы с FTP-серверами. Можно создать клиент на базе компонента IdFTP с закладки Indy Clients.
try
//переходим в нужн. каталог на сервере
IdFTP.ChangeDir('Dir');
except
Application.MessageBox(PChar('Не могу перейти', 'Вот!', MB_ICONSTOP);
exit;
//а вот и сама передача файла
IdFTP.Put(Исходящий_файл, 'Файл_на_сервере');
end;
Для удаления файла служит метод .Delete(FileName:Tstring). Ну и не забыть отключится методом .Disconnect. В приложении работающая консольная программа для передачи файлов по FTP-протоколу на сервер, параметры подключения читаются с ini-файла.
Удачи.
Приложение:
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 10-ый класс)
Ответ отправлен: 13.11.2007, 13:54 Оценка за ответ: 4 Комментарий оценки: Спасибо за оперативность и развёрнутый ответ по раоботе с FTP, но хотелось бы и ответ по дозвону