Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

Массив в Delphi   Найти похожие ветки 

 
Dina   (2008-01-22 06:44) [0]

Подскажите, как создать такое заполнение, в голову не идет ничего:

Иванов
Иван
Иванович

Петров
Петр
Петрович

Сидоров
Сидор
Сидорович , а в таблице Иванов Иван Иванович
                                  Петров Петр Петрович
                                  Сидоров Сидор Сидорович


 
OSokin   (2008-01-22 07:01) [1]

Берешь имя Иван, добавляешь к нему -ов и -ович. Например:
Imya := "Абдурахман";
Familia := Imya + "ов";
Otchestvo := Familia + "ич";

Получаем Абдурахманов Абдурахман Абдурахманович


 
Dina   (2008-01-22 07:10) [2]

Спасибо, но эти фамилии и имена для примера, там разные всякие, я имела ввиду, что мне нужно вывести именно так как я писала, сначала в столбик данные об одном человеке, через несколько строк данные другого человека,
А у меня получается данные об одном человеке в строку:

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;


 
Skyle ©   (2008-01-22 08:02) [3]

А что такое ArrayData?


 
grisme   (2008-01-22 08:05) [4]

Dina   (22.01.08 07:10) [2]
курить type TypeName = record


 
Dina   (2008-01-22 08:16) [5]


> ArrayData

Вариантный массив, который заполняем выходными данными


 
Skyle ©   (2008-01-22 08:18) [6]

Ну хорошо, хоть и неясно зачем.

А как показываешь-то?


 
Dina   (2008-01-22 08:20) [7]

Я выгружаю в Ёхель. Не поячеечно, а массивом


 
Skyle ©   (2008-01-22 08:23) [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:25) [9]

Если поможешь мне, я буду очень благодарна!
Смотри у меня есть табл *.db, ну формочка нарисована в Дельфи, для ввода и поиска данных о человеке. Сам весь смысл такой, есть готовый бланк на бумаге (квитанции), цветной на спец бумаге, я выгружаю данные в Ёхель, попадаю в нужные ячейки (методом тыка :)), и мне надо попасть в графы этого бланка. На бланке 4 квитанции. Получается мне надо выгрузить 4 человека (данные всмысле ФИО), друг под другом на расстоянии. Как в вопросе:

Иванов
Иван
Иванович

дальше там линии,  печати бланка......

следующий бланк

Петров
Петр
Петрович И так 4-х человек.
Получается в столбик, а сам цикл по строчно


 
Dina   (2008-01-22 08:28) [10]

Наверное, сначала в цикле надо вставить одного, фамилия, имя, отчество, друг под другом, и внешний цикл, 4-х друг под другом на расстоянии? Но как не пойму


 
Skyle ©   (2008-01-22 08:33) [11]

А в чём конкретно сложность-то?


 
Dina   (2008-01-22 08:38) [12]

Я не могу написать цикл, именно того, что данные каждого человека, строились в столбик, в заданных ячейках, а данные 4-х человек по строчно,
всмысле у меня должны быть 4 столбика ФИО друг под другом! А я могу сделать только 4 строки друг под другом, вот так: Иванов Иван Иванович
                                                                        Петров Петр Петрович
                                                                       Сидоров Сидо Сидорович,
А мне надо так:
Иванов
Иван
Иванович

Петров
Петр
Петрович

Сидоров
Сидо
Сидорович


 
Dina   (2008-01-22 08:39) [13]

Извини, я просто не знаю как корректно с точки зрения программирования объяснить...


 
Skyle ©   (2008-01-22 08:42) [14]

Что-то типа этого?

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:50) [15]

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



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

Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.041 c
2-1201335591
MNNN
2008-01-26 11:19
2008.02.17
Рисование иконки


15-1200311187
asdf
2008-01-14 14:46
2008.02.17
XML?


15-1200298824
alexeis
2008-01-14 11:20
2008.02.17
не соответствие клавиш в DOSe


2-1201186046
Knob
2008-01-24 17:47
2008.02.17
Как сделать прозрачность


15-1200499252
Деточкин
2008-01-16 19:00
2008.02.17
Нестыковка в лиц. соглашении или что делать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский