![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массив в Delphi
Dina © (2008-01-22 06:44:00)Подскажите, как создать такое заполнение, в голову не идет ничего:
Иванов
Иван
Иванович
Петров
Петр
Петрович
Сидоров
Сидор
Сидорович , а в таблице Иванов Иван Иванович
Петров Петр Петрович
Сидоров Сидор Сидорович
Dina (2008-01-22 08:50:00) [1]Спасибо, буду пробовать... Выйду на связь с вопросами, если возникнут позже...
Skyle (2008-01-22 08:42:00) [2]Что-то типа этого?
procedure TForm1.Button1Click(Sender: TObject);
var
ArrayData : Variant;
Excel : OleVariant;
begin
Excel := CreateOleObject('Excel.Application');
Excel.DisplayAlerts := False;
Excel.Visible := True;
Excel.WorkBooks.Add;
ArrayData := VarArrayCreate([0, 3, 0, 0], varVariant);
while not tbvrem.eof do
begin
ArrayData[0, 0] := tbvrem.FieldValues['Nom_v'];
ArrayData[1, 0] := tbvrem.FieldValues['Surname_v'];
ArrayData[2, 0] := tbvrem.FieldValues['Name_v'];
ArrayData[3, 0] := tbvrem.FieldValues['Patronymic_v'];
//координаты передаются через переменные, для каждого человека свои.
Excel.ActiveSheet.Range['A1:A4'].Value := ArrayData;
tbvrem.Next;
end;
// Excel.Quit;
// Excel := UnAssigned;
end;
Dina (2008-01-22 08:39:00) [3]Извини, я просто не знаю как корректно с точки зрения программирования объяснить...
Dina (2008-01-22 08:38:00) [4]Я не могу написать цикл, именно того, что данные каждого человека, строились в столбик, в заданных ячейках, а данные 4-х человек по строчно,
всмысле у меня должны быть 4 столбика ФИО друг под другом! А я могу сделать только 4 строки друг под другом, вот так: Иванов Иван Иванович
Петров Петр Петрович
Сидоров Сидо Сидорович,
А мне надо так:
Иванов
Иван
Иванович
Петров
Петр
Петрович
Сидоров
Сидо
Сидорович
Skyle (2008-01-22 08:33:00) [5]А в чём конкретно сложность-то?
Dina (2008-01-22 08:28:00) [6]Наверное, сначала в цикле надо вставить одного, фамилия, имя, отчество, друг под другом, и внешний цикл, 4-х друг под другом на расстоянии? Но как не пойму
Dina (2008-01-22 08:25:00) [7]Если поможешь мне, я буду очень благодарна!
Смотри у меня есть табл *.db, ну формочка нарисована в Дельфи, для ввода и поиска данных о человеке. Сам весь смысл такой, есть готовый бланк на бумаге (квитанции), цветной на спец бумаге, я выгружаю данные в Ёхель, попадаю в нужные ячейки (методом тыка :)), и мне надо попасть в графы этого бланка. На бланке 4 квитанции. Получается мне надо выгрузить 4 человека (данные всмысле ФИО), друг под другом на расстоянии. Как в вопросе:
Иванов
Иван
Иванович
дальше там линии, печати бланка......
следующий бланк
Петров
Петр
Петрович И так 4-х человек.
Получается в столбик, а сам цикл по строчно
Skyle (2008-01-22 08:23:00) [8]Это чтоли?
ArrayData := VarArrayCreate([0..MyAmount * 4 - 1], varVariant);
I := 0;
while not tbvrem.eof do
begin
ArrayData[I] := tbvrem.FieldValues['Nom_v'];
Inc(I);
ArrayData[I] := tbvrem.FieldValues['Surname_v'];
Inc(I);
ArrayData[I] := tbvrem.FieldValues['Name_v'];
Inc(I);
ArrayData[I] := tbvrem.FieldValues['Patronymic_v'];
Inc(I);
tbvrem.Next;
end;
Dina (2008-01-22 08:20:00) [9]Я выгружаю в Ёхель. Не поячеечно, а массивом
Skyle (2008-01-22 08:18:00) [10]Ну хорошо, хоть и неясно зачем.
А как показываешь-то?
Dina (2008-01-22 08:16:00) [11]
> ArrayData
Вариантный массив, который заполняем выходными данными
grisme (2008-01-22 08:05:00) [12]Dina (22.01.08 07:10) [2]
курить type TypeName = record
Skyle (2008-01-22 08:02:00) [13]А что такое ArrayData?
Dina (2008-01-22 07:10:00) [14]Спасибо, но эти фамилии и имена для примера, там разные всякие, я имела ввиду, что мне нужно вывести именно так как я писала, сначала в столбик данные об одном человеке, через несколько строк данные другого человека,
А у меня получается данные об одном человеке в строку:
tbvrem.First;
i:=1;
while not tbvrem.Eof do
begin
ArrayData[i, 1] := tbvrem.FieldValues['Nom_v'];
ArrayData[i, 2] := tbvrem.FieldValues['Surname_v'];
ArrayData[i, 3] := tbvrem.FieldValues['Name_v'];
ArrayData[i, 4] := tbvrem.FieldValues['Patronymic_v'];
tbvrem.Next;
i:=i+1;
end;
OSokin (2008-01-22 07:01:00) [15]Берешь имя Иван, добавляешь к нему -ов и -ович. Например:
Imya := 'Абдурахман';
Familia := Imya + 'ов';
Otchestvo := Familia + 'ич';
Получаем Абдурахманов Абдурахман Абдурахманович