|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Обработка StringGrid |
|
Delphi - [решено] Обработка StringGrid
|
![]() Пользователь Сообщения: 92 |
В TMemo из файла загружен список файлов в виде [Линк |размер дата время]. Нужно чтобы в StringGrid в первом столбце были обработаные адреса файлов, а в втором - размер. Пробовал так:
procedure TForm1.RunBtnClick(Sender: TObject); {обработка файла} var i, j, position, strlenght, x, y, w, MaxWidth: integer; currstr, s: string; begin StringGrid.Visible:= true; for j:=1 to 2 do {заполняется первый столбец, потом второй} begin for i:=1 to StringGrid.RowCount+1 do begin currstr:= Memo.Lines[i-1]; {получаем текущую строку} strlenght:= length(currstr); {длина} position:= pos(' |', currstr); {позиция конца адреса в строке} if j=1 then {для первого столбца оставляем только линк} begin delete(currstr, position, strlenght-position+1); currstr:= concat(EditPatch.text, currstr); end else {для второго солбца оставляем только размер файла} begin delete(currstr, 1, position+1); position:= pos(' ', currstr); delete(currstr, position, strlenght-position+1); currstr:= IntToStr(StrToInt(currstr) div 1024 div 1024) + 'Mb'; end; StringGrid.Cells[j,i]:= currstr; {заполняем ячейку} if j=1 then ProgressBar.Position := 100 * i div StringGrid.RowCount else ProgressBar.Position := 50 + 100 * i div StringGrid.RowCount end; end; with StringGrid do {установить ширину ячеек по макс. ширине текста} ClientHeight:= DefaultRowHeight * RowCount + 5; with StringGrid do begin for x := 0 to ColCount - 1 do begin MaxWidth := 0; for y := 0 to RowCount - 1 do begin w := Canvas.TextWidth(Cells[x,y]); if w > MaxWidth then MaxWidth := w; end; ColWidths[x] := MaxWidth + 5; end; end; {конец установки} end; Debugger Exeption Notificetion Project ***** raised exeprion class EConvertError with message "is not a valid integer value" з.ы. и ещё - как лучше напрямую прочитать/записать данные в StringGrid из текстового файла? (подразумевается обработка по 5-30 тыс. строк текста) з.з.ы. как правильно прикрутить к проэкту XPManifest? простым добавлением на форму не хочет. Среда Delphi 7.0 |
|
Отправлено: 17:42, 18-01-2009 |
![]() Забанен Сообщения: 463
|
Цитата noname_06:
|
|
Отправлено: 22:29, 18-01-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 540
|
Профиль | Отправить PM | Цитировать Цитата Alan85:
|
|
------- Отправлено: 01:44, 19-01-2009 | #3 |
![]() Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать Таки да, компилятору не понравилось именно это, точнее не сам перевод строки в integer, а почему-то попытка использовать его как аргумент для div. Пробовал отдельно StrToInt присвоить real-переменой, потом значение real-а передать integer переменной и уже из неё вычислять размер в Мб - всё равно не хочет
![]() Цитата:
![]() |
|
Последний раз редактировалось noname_06, 19-01-2009 в 02:02. Отправлено: 01:46, 19-01-2009 | #4 |
![]() Забанен Сообщения: 463
|
Так ведь же у меня (думаю и других тоже) прошло на тесте.
Цитата noname_06:
|
||
Отправлено: 07:49, 19-01-2009 | #5 |
![]() Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:39, 19-01-2009 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Delphi - Раскраска ячеек StringGrid | pirojok750 | Программирование и базы данных | 10 | 26-10-2009 17:26 | |
Создание и заполнение таблицы StringGrid в Делфи | Bronko | Программирование и базы данных | 2 | 22-09-2006 13:41 | |
*Решено* | Обработка массивов в С++ | Shad0VV | Программирование и базы данных | 7 | 15-10-2005 19:59 | |
DBGrid (Stringgrid) и Win API | Partizan | Программирование и базы данных | 1 | 13-09-2004 12:03 | |
Delphi - StringGrid в Delphi 6 | LedWorm | Программирование и базы данных | 1 | 16-02-2004 08:02 |
|