TLabel* myLabels[10]; //массив из 10 указателей на TLabel
for(int i=0;i<10;i++)
{
//создаем 10 Tlabel
TLabel* newLabel = new TLabel(this);
newLabel->Caption = "Hello world "+IntToStr(i);
myLabels = newLabel;
}
//Доступ к TLabel
for(int i=0;i<10;i++)
{
TLabel* myLabel = myLabels;
myLabel->Caption = "Label number "+IntToStr(i);
}
Масив из компонентов
Label(0).Caption = "Hello"
Label(1).Caption = "Hello!!!"
Как зделать масив из элементов?
Какой код при применении масива?
Очень вам благодарен за ответ. Спосибо!
Цитата:
Originally posted by TALEX
Здраствуйте. У меня вопрос, можно ли создать например из Label масив. Я вот до Билдера 6 програмировал на VB6 и там при копирование Label спрашивает - хотите ли вы создать масив. И в коде я обращался к Label так например:
Label(0).Caption = "Hello"
Label(1).Caption = "Hello!!!"
Как зделать масив из элементов?
Какой код при применении масива?
Очень вам благодарен за ответ. Спосибо!
Здраствуйте. У меня вопрос, можно ли создать например из Label масив. Я вот до Билдера 6 програмировал на VB6 и там при копирование Label спрашивает - хотите ли вы создать масив. И в коде я обращался к Label так например:
Label(0).Caption = "Hello"
Label(1).Caption = "Hello!!!"
Как зделать масив из элементов?
Какой код при применении масива?
Очень вам благодарен за ответ. Спосибо!
Код:
Цитата:
Originally posted by AlexandrVSmirno
Код:
TLabel* myLabels[10]; //массив из 10 указателей на TLabel
for(int i=0;i<10;i++)
{
//создаем 10 Tlabel
TLabel* newLabel = new TLabel(this);
newLabel->Caption = "Hello world "+IntToStr(i);
myLabels = newLabel;
}
//Доступ к TLabel
for(int i=0;i<10;i++)
{
TLabel* myLabel = myLabels;
myLabel->Caption = "Label number "+IntToStr(i);
}
for(int i=0;i<10;i++)
{
//создаем 10 Tlabel
TLabel* newLabel = new TLabel(this);
newLabel->Caption = "Hello world "+IntToStr(i);
myLabels = newLabel;
}
//Доступ к TLabel
for(int i=0;i<10;i++)
{
TLabel* myLabel = myLabels;
myLabel->Caption = "Label number "+IntToStr(i);
}
Ето перед тем как писать етот код нужно создать ЛЕЙБУ с именем "myLabels"? Или как?
И ещо один вопрос что у Buildere 6 заменяет функция "DateDiff" от VB6? Спосибо огромное.
Цитата:
Originally posted by TALEX
Ето перед тем как писать етот код нужно создать ЛЕЙБУ с именем "myLabels"? Или как?
И ещо один вопрос что у Buildere 6 заменяет функция "DateDiff" от VB6? Спосибо огромное.
Ето перед тем как писать етот код нужно создать ЛЕЙБУ с именем "myLabels"? Или как?
И ещо один вопрос что у Buildere 6 заменяет функция "DateDiff" от VB6? Спосибо огромное.
Это невизуальное создание компонент. Т.е. перед этим на форму ничего помещать не надо.
Небольшая поправка в коде:
Код:
TLabel* myLabels[10]; //массив из 10 указателей на TLabel
for(int i=0;i<10;i++)
{
//создаем 10 Tlabel
TLabel* newLabel = new TLabel(this);//Невизуально создаем компонент
//Задаем необходимые свойства
newLabel->Caption = "Hello world "+IntToStr(i);
newLabel->Left = 10;
newLabel->Top = 20*i;
newLabel->Parent = this; //Помещаем компонент на форму
myLabels = newLabel;
}
//Доступ к TLabel
for(int i=0;i<10;i++)
{
TLabel* myLabel = myLabels;
myLabel->Caption = "Label number "+IntToStr(i);
}
for(int i=0;i<10;i++)
{
//создаем 10 Tlabel
TLabel* newLabel = new TLabel(this);//Невизуально создаем компонент
//Задаем необходимые свойства
newLabel->Caption = "Hello world "+IntToStr(i);
newLabel->Left = 10;
newLabel->Top = 20*i;
newLabel->Parent = this; //Помещаем компонент на форму
myLabels = newLabel;
}
//Доступ к TLabel
for(int i=0;i<10;i++)
{
TLabel* myLabel = myLabels;
myLabel->Caption = "Label number "+IntToStr(i);
}
Более короткий вариант того же кода, да и более понятный:
Код:
TLabel* myLabels[10]; //массив из 10 указателей на TLabel
for(int i=0;i<10;i++)
{
//создаем 10 Tlabel
myLabels = new TLabel(this);
myLabels->Caption = "Hello world "+IntToStr(i);
newLabel->Left = 10;
newLabel->Top = 20*i;
myLabels->Parent = this;
}
//Доступ к TLabel
for(int i=0;i<10;i++)
{
myLabels->Caption = "Label number "+IntToStr(i);
}
for(int i=0;i<10;i++)
{
//создаем 10 Tlabel
myLabels = new TLabel(this);
myLabels->Caption = "Hello world "+IntToStr(i);
newLabel->Left = 10;
newLabel->Top = 20*i;
myLabels->Parent = this;
}
//Доступ к TLabel
for(int i=0;i<10;i++)
{
myLabels->Caption = "Label number "+IntToStr(i);
}
Что такое DateDiff? Не факт, что сдесь найдется мастер по VB. Опиши функцию - тебе назовут похожую из Билдера.
Функция DateDiff используется для вычисления разности двух дат
Возвращаемое значение
Возвращает значение типа Variant(Long), указывающее число временных интервалов между двумя датами
Параметры
Функция содержит именованные аргументы
Interval
Обязательный аргумент типа String, указывающего тип добавляемого временного интервала:
yyyy - Год
q - Квартал
m - Месяц
y - День года
d - День месяца
w - День недели
ww - Неделя
h - Часы
n - Минуты
s - Секунды
Interval не чуствителен к регистру букв.Литерал должен быть заключен в кавычки. Для вычисления дней между двумя датами можно использовать значение интервала дня:"y" или "d"
Date1
Обязательный аргумент типа Variant(Date) или литерал даты - первая календарная дата при вычислении разности дат
Date2
Обязательный аргумент типа Variant(Date) или литерал даты - вторая календарная дата при вычислении разности дат
FirstDayOfWeek
Необязательный аргумент типа Long, определяющего день недели. Допускается использование констант:
vbUseSystem=0
Используется значение национальных системных установок
vbSunday=1 - Воскресенье(по умолчанию)
vbMonday=2 - Понедельник
vbTuesday=3 - Вторник
vbWednesday=4 - Среда
vbThursday=5 - Четверг
vbFriday=6 - Пятница
vbSaturday - Суббота
FirstWeekOfYear
Необязательный аргумент - числовая константа, указывающая, какой день недели считать первым:
vbUseSystem=0
Используется системная информация
vbFirstJan1=1
Неделя, содержащая 1 января
vbFirstFourDays=2
Первая неделя, содержащая как минимум 4 дня нового года
vbFirstFullWeek=3
Первая полная неделя года
Пример:
' Вычисляем сколько дней осталось до 21 века
Dim Today as Date' сегодняшний день
Dim Millenium As Date' 1 день 21 века
Dim retval' возвращаемое значение
Today=Date ' узнаем текущую системную дату
Millenium="01.01.01"
retval=DateDiff("d",Today,Millenium)
Form1.Caption = CStr(retval) ' выводим в заголовке формы
Очень буду благодарен!
Цитата:
Originally posted by TALEX
DateDiff(Interval,Date1,Date2,[FirstDayOfWeek],[FirstWeekOfYear])
Функция DateDiff используется для вычисления разности двух дат
...
DateDiff(Interval,Date1,Date2,[FirstDayOfWeek],[FirstWeekOfYear])
Функция DateDiff используется для вычисления разности двух дат
...
В VCL-евском TDateTime разность двух дат вычисляется просто... разностью :)
т.е.
Код:
TDateTime d1,d2;
d1= Time();//Получаем текущее время
Sleep(3000);//Ждем 3 секунды
d2= Time();//Получаем новое значенте времени в д.р переменную
Caption = TimeToStr(d2-d1); //Выводим в заголовок окна разность
d1= Time();//Получаем текущее время
Sleep(3000);//Ждем 3 секунды
d2= Time();//Получаем новое значенте времени в д.р переменную
Caption = TimeToStr(d2-d1); //Выводим в заголовок окна разность
Единственная, вроде, разность в том, что разницу во времени и в дате нужно будет вычислять отдельно. (Для получения текущей даты d1 = Date(); разность двух дат в днях - разница между целыми частями этих дат)
Пример с новым годом:
Код:
TDateTime d1,d2;
d1= Time()+Date();
d2= StrToDateTime("01.01.2006 00:00:00");
Caption = String((int)d2-(int)d1-1)+" Дней и " + TimeToStr(d2-d1)+" часов";
d1= Time()+Date();
d2= StrToDateTime("01.01.2006 00:00:00");
Caption = String((int)d2-(int)d1-1)+" Дней и " + TimeToStr(d2-d1)+" часов";