Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 077
от 14.09.2002, 16:20

Администратор:
Имя: Коробов Н.А.
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 225
Отправлено ответов: 476
Активность: 211.5 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Jadd
Статус: Доверительный
Общий рейтинг: 147.14
[Подробней >>]
Zloy
Статус: Опытный
Общий рейтинг: 107.36
URL: The полный отстой
[Подробней >>]
kvINT
Статус: Профессиональный
Общий рейтинг: 111.6
Телефон: (34316)2-31-45
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 111.15
[Подробней >>]
Dron
Статус: Профессиональный
Общий рейтинг: 120.47
URL: Операционная система с нуля!
[Подробней >>]
Kiss
Статус: Начальный
Общий рейтинг: 150
[Подробней >>]
 
Yuri Gordienko
Статус: Доверительный
Общий рейтинг: 132.78
[Подробней >>]
VicSimon
Статус: Начальный
Общий рейтинг: 104.28
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 222. Здравствуйте эксперты!!! У меня такой вопрос - как в ходе выполнения программы редактировать древови... (ответов: 2)
Вопрос № 224. Здравсствуйте эксперты . Помогите плз в таком вопросе ,ниже в приложении программа выводит числа в ... (ответов: 7)

Вопросов: 2, ответов: 9


 Вопрос № 222

Здравствуйте эксперты!!!
У меня такой вопрос - как в ходе выполнения программы
редактировать древовидный список(Tree Control) и Image List,
т.е. добавлять/удалять/переименовать элементы. Самое главное - чтоб
элементы создавались ни при инициализации диалога, а в ходе выполнения
проги! (среда - Visual C++6.0)
Заранее благодарен!



Вопрос отправлен: 09.09.2002, 21:10
Отправитель: KudesNik

[Следующий вопрос >>] [Список вопросов]

Отвечает Jadd

Доброе время суток, KudesNik!
Открываем студию. Что мы тут видим? Прально, ничего. А почему? А потому, что надо создать диалог и кинуть туда ListControl и TreeControl. Сделали. После создания класса диалога и переменных для этих контролов (надеюсь ты знаешь как это делается), идем в класс диалога. Допустим тебе надо, чтобы по нажатию какой-то кнобы дерево и/или лист заполнялся какими-то значениями. Кинь кнопку в диалог и создай хэндлер на нажатие кнобы. В нем мы пишем: m_Tree.InsertItem(параметры). Про параметры прочти в MSDN - там все просто. Таже ситуевина и с ListControl. Те же методы, и, почти, те же параметры. Тоже читай MSDN или какой-нить книг по програзму на VC. Да, и скажи спасибо Мише Берману(mgf_@mail.ru). Иначе я бы не стал отвечать на такой вопрос.

Ответ отправлен: 11.09.2002, 13:46
Отправитель: Jadd


Отвечает Zloy

Здравствуйте, KudesNik!
Для Tree Veiw'a:
1.заполняещь структуру TV_INSERTSTRUCT
2.шлёшь контролу сообщение TVM_INSERTITEM:
wParam - 0
lParam - указатель на TV_INSERTSTRUCT
С ImageListom не работал, но в хелпе увидел следующее:
int ImageList_AddIcon(
HIMAGELIST himl, // handle to the image list
HICON hicon // handle to the icon or cursor
);




Ответ отправлен: 10.09.2002, 19:34
Отправитель: Zloy


 Вопрос № 224

Здравсствуйте эксперты .
Помогите плз в таком вопросе ,ниже в приложении программа
выводит числа в виде d(день) м(месяц) y(год), вот так
01.1.80
01.2.80
01.3.80
,,,,,
31.3.80
Но мне надо что бы и месяц выглядел так -же , тоесть 01,02,12
а всё вместе что-бы выглядело так ...
01.01.80
02.01.80
,,,,,,
31.12.81
это к примеру , если вопрос понятен , подскажите как дописАть это убожество до логического завершения.


Приложение:


Вопрос отправлен: 11.09.2002, 16:19
Отправитель: piton (koltpiton@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает kvINT

Доброе время суток, piton!
#include
void main()
{
char path[]="test.txt";
FILE *f;
f = fopen(path,"wa+");
for(int y=80;y<=99;++y)
for(int m=1;m<=12;++m)
for(int d=1;d<=31;++d)
{
if (d<=9) fputs("0",f);
char s[1024];
sprintf(s,"%d.",d);
fputs(s,f);
if (m<=9) fputs("0",f);
sprintf(s,"%d.%d. ", m, y);
fputs(s,f);
}
fclose(f);
}
Теперь выводит так, как тебе нужно, ну а сделать, чтобы в феврале было не 31 день, ты и не просил.

Ответ отправлен: 11.09.2002, 19:34
Отправитель: kvINT


Отвечает vitya

Приветствую Вас, piton!
попробуй так
fprintf(fileOut, "%02d/%02d/%d, day, month, year);

Ответ отправлен: 11.09.2002, 16:27
Отправитель: vitya


Отвечает Dron

Здравствуйте, piton!
По логике тебе надо вставить еще проверку на номер месяца, дабы отключить несуществующие дни...
а при выводе зачем так извращаться?
fprintf (s, "%02d.%02d.%02d ", d, m, y);
Это все что нужно в цикле. (не считая проверок)

Ответ отправлен: 11.09.2002, 16:30
Отправитель: Dron


Отвечает Jadd

Добрый день, piton!
А что тебе мешает то же, что ты сделал с переменной дня (d) сделать и для месяца. Т.е. создай какую-нибудь временную строку, куда ты будешь конкатенировать день/месяц/год, а потом записывать в вывод. Это - самый простой способ.

Ответ отправлен: 11.09.2002, 16:32
Отправитель: Jadd


Отвечает Kiss

Доброе время суток, piton!
Малость приобразовав твою прогу я получил что требовалось!
С уважением Kiss!
P.S.
#include
void main()
{
char path[]="test.txt";
FILE *f;
f = fopen(path,"wa+");
for(int y=80;y<=99;++y)
for(int m=1;m<=12;++m)
for(int d=1;d<=31;++d)
{
if (d<=9) fprintf(f,"0");
fprintf(f,"%d", d);
if (m<=9) fprintf(f,"0");
fprintf(f,"%d", m);
fprintf(f,"%d ", y);
}
fclose(f);
}

Ответ отправлен: 11.09.2002, 16:40
Отправитель: Kiss


Отвечает Yuri Gordienko

Приветствую Вас, piton!
Ну, если оставить твой алгоритм, то можно так
void main()
{
char path[]="test.txt";
FILE *f;
char ch[2]; ch[1]=char(0);
f = fopen(path,"wa+");
for(int y=80;y<=99;++y)
for(int m=1;m<=12;++m)
for(int d=1;d<=31;++d)
{
if (d<=9) fputs("0",f);
if(m<10)
ch[0] = '0';
else
ch[0] = char(0);
sprintf(s,"%d%s%d%d", d,ch,m, y);
fputs(s,f);
}
fclose(f);
}


Ответ отправлен: 11.09.2002, 16:42
Отправитель: Yuri Gordienko


Отвечает VicSimon

Приветствую Вас, piton!
Нужно изменить вызов функции sprintf. Должно быть так:
sprintf (s, "%02d.%02d.%02d", d, m, y)

Ответ отправлен: 12.09.2002, 05:59
Отправитель: VicSimon



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (41)
C / C++ (28)
Perl (9)
Delphi (14)
Pascal (24)
Basic / VBA (11)
Java / JavaScript (12)
PHP (8)
MySQL / MSSQL (10)
Пользователю
Windows 95/98/Me (39)
Windows NT/2000/XP (29)
"Железо" (36)
Поиск информации (13)
Администратору
Windows NT/2000/XP (14)
Linux / Unix (15)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (8)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное