Да, спасибо! Но что делать если не изменять лог файл?
При записи
arrStr:= SplitString(sl[i], '; ');
пропускаются значения.. может быть через обозначение пробела #32?
My Visual Database → Posts by Kupidon
Pages 1
Да, спасибо! Но что делать если не изменять лог файл?
При записи
arrStr:= SplitString(sl[i], '; ');
пропускаются значения.. может быть через обозначение пробела #32?
Получается, что во время формирования массива им нельзя пользоваться?..
Может конечно и туплю, но не пойму почему не работает IF:
///заполнение таблицы логов
procedure Form1_BSearchLog_OnClick (Sender: string; var Cancel: boolean);
var
NxTextColumn: TNxTextColumn;
i, i1, j, c: integer;
SL: TStringList;
arrStr: array of string;
SerNum, SerNumArr, InvNum, f: string;
begin
SerNum := Form1.SerNum.Text;
InvNum := Form1.InvNum.Text;
//showMessage (SerNum+' '+InvNum);
// create columns
SL := TStringList.Create; //создаем список строк
F := ExtractFilePath( Application.ExeName ) + 'log.txt';
SL.LoadFromFile(f);
c := SL.count - 1;
frmLogEquip.TabLogEq.Columns.Clear;
frmLogEquip.TabLogEq.AddRow(c);
for i:=0 to 9 do //добавляем колонки и заголовки
begin
try
frmLogEquip.TabLogEq.Columns.Add(TNxTextColumn);
//frmLogEquip.TabLogEq.Columns[i].Color := clWhite;
except
end;
end;
frmLogEquip.TabLogEq.Columns[0].Header.Caption := 'Дата';
frmLogEquip.TabLogEq.Columns[1].Header.Caption := 'Время ' ;
frmLogEquip.TabLogEq.Columns[2].Header.Caption := 'Статус';
frmLogEquip.TabLogEq.Columns[3].Header.Caption := 'Тип';
frmLogEquip.TabLogEq.Columns[4].Header.Caption := 'Модель';
frmLogEquip.TabLogEq.Columns[5].Header.Caption := 'Сер. номер';
frmLogEquip.TabLogEq.Columns[6].Header.Caption := 'Инв. номер';
frmLogEquip.TabLogEq.Columns[7].Header.Caption := 'Место';
frmLogEquip.TabLogEq.Columns[8].Header.Caption := 'Комментарий';
frmLogEquip.TabLogEq.Columns[9].Header.Caption := 'Пользователь';
i1 := 1; //индекс выборочных строк
for i := 0 to c do //заполнение таблицы из файла
begin
arrStr:= SplitString(sl[i], ';');
ShowMessage (arrStr[5] + ' ' + SerNum + #13#10 + arrStr[6] + ' ' + InvNum ); //проверка
if (SerNum = arrStr[5]) AND (InvNum = arrStr[6]) then //в цикл не заходит!??
begin
for j := 0 to 9 do
begin
frmLogEquip.TabLogEq.Cells[j,i1] := VarToStr(arrStr[j]);
i1 := i1+1;
//showMessage (frmLogEquip.TabLogEq.Cells[j,i]);
end;
end;
end;
//frmLogEquip.TabLogEq.LoadFromTextFile(f, ';');
frmLogEquip.TabLogEq.BestFitColumns(bfBoth); //автоподбор ширины по содержимому ячеек и названию колонок
end;
begin
end.
В строках таблицы 1 находятся признаки оборудования (серийный номер, цвет, место и т.д). Далее конкатенируем строку в ячейку и помещаем ее в таблицу 2, где столбцы это местонахождение оборудования.
Добрый вечер!
Никак не могу решить такую задачку: есть таблица с оборудованием (Equipment), у оборудования есть набор признаков (Серийный номер (text), модель (combobox), место расположения (combobox) и т.д.) Нужно создать динамическую таблицу в колонках которой будут появляться места расположения оборудования, а в соответствующей ячейке название оборудования. И при нажатии на ячейку хорошо бы получить все признаки (сер. номер, модель и т.д.). Пробовал делать через массивы и рекорды.. но почему то не получается ((
Pages 1
My Visual Database → Posts by Kupidon
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi