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

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


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


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

Выпуск № 330
от 14.08.2003, 13:20

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1011
Отправлено ответов: 2264
Активность: 223.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


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

Bobs
Статус: Профессиональный
Общий рейтинг: 116.02
[Подробней >>]
BOLT
Статус: Профессиональный
Общий рейтинг: 171.21
URL: Начинающему программитсу: софт, примеры, документация, Assembler, C & C++.
Телефон: Три раза АУ!
[Подробней >>]
Nevsky
Статус: Начальный
Общий рейтинг: 106.54
[Подробней >>]
 
Twilight_Sun
Статус: Доверительный
Общий рейтинг: 118.55
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.07
[Подробней >>]
Yuri Gordienko
Статус: Профессиональный
Общий рейтинг: 117.4
[Подробней >>]
 
Avl2k
Статус: Профессиональный
Общий рейтинг: 125.55
[Подробней >>]
RedFox
Статус: Доверительный
Общий рейтинг: 104.31
[Подробней >>]
Маслов Андрей
Статус: Начальный
Общий рейтинг: 105.26
[Подробней >>]


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

Вопрос № 991. Всем привет!!! Только начал изучать Builder С++. Поэтому появился простенький вопрос но сам разобрат... (ответов: 2)
Вопрос № 992. Уважаемые эксперты, Вероятно, мои вопросы вызовут «сильное оживление» в ваших профессиональных рядах... (ответов: 5)
Вопрос № 993. Здрасвуйте експерты Я с коментариями по поводу вопросу "981" Кароче, я попробывал все раря... (ответов: 4)
Вопрос № 994. Как мне используя MFC проиграть avi-файл. С помощью класса CAnimateCtrl ничего не получается. В Win9... (ответов: 2)
Вопрос № 995. Где бы можно достать исходники для нарезчика болванок, или хотябы описание команд для пишуших Cd-rom... (ответов: 1)
Вопрос № 996. Здравствуйте, уважаемые! Подскажите, пожалуйста, как в Visual C++ без использования MFC во время вып... (ответов: 3)

Вопросов: 6, ответов: 17


 Вопрос № 991

Всем привет!!!
Только начал изучать Builder С++.
Поэтому появился простенький вопрос но сам разобраться не могу.
Подскажите как из FindDialog->FindText выташить первый
символ.



Вопрос отправлен: 10.08.2003, 19:46
Отправитель: Ilu

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

Отвечает Bobs

Доброе время суток, Ilu!
FindDialog1->FindText.SubString(1,1); - это и есть первый символ

Ответ отправлен: 10.08.2003, 22:37
Отправитель: Bobs


Отвечает BOLT

Добрый день, Ilu!
Вот так:
char pervii_simvol = (char)FindDialog1->FindTextA.c_str()[0];

Ответ отправлен: 10.08.2003, 23:26
Отправитель: BOLT


 Вопрос № 992

Уважаемые эксперты,
Вероятно, мои вопросы вызовут «сильное оживление» в ваших профессиональных рядах, но «чайники» бывают разные….
Недавно решил начать осваивать язык C++. Прочел (это истина) несколько разных материалов. Про первую программу «hello, world», про принципиальную структуру программы, про обязательную функцию main (),про строковые и другие переменные и т.д.Это я понял.
Не понял я некоторых «важных моментов», а именно:
в каком редакторе надо набирать текст программы? Если это файл текстовый, то, как он становится (или как его «сделать») исполняемым.
Поэтому просьба
1.Кратко описать, в условиях, например, WinXP,только процедуру превращения текста будущей программы «hello, world» в исполняемый файл (exe,com или еще какой, результатом которого будет вывод на дисплей этих столь многозначительных символов).
2. Правильно я понимаю, что этот язык программирования не требует загрузки специальной операционной системы, кроме Windows
Заранее спасибо, Евгений





Вопрос отправлен: 10.08.2003, 22:12
Отправитель: Евгений

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

Отвечает Nevsky

Доброе время суток, Евгений!
Для каждого языка программирования существуют программы компиляторы (ассемблеры), трансляторы.
Исходники обычно представляют собой текстовые файлы, которые в трансляторе разбиваются на логические деревья и записи. Из таких записей и получается объектный модуль. Он попадает в компилятор (ассемблер) и преобразовывается в исполняемый модуль (.ехе, .сом)
Для ВинХР тебе надо Microsoft Visual Studio или C++ Builder, но лучше Microsoft Visual Studio.

Ответ отправлен: 11.08.2003, 14:02
Отправитель: Nevsky


Отвечает Bobs

Здравствуйте, Евгений!
:) Правильно. Для этого желательно установить один из существующих компиляторов C++, в комплекте с которыми обычно имеется и интегрированная среда разработки. Наиболее популярен сейчас MS Visual C++ 6.0. Существуют также: Borland C++ Builder, GNU C Compiler, Watcom C++ Compiler, Intel C++. Так что бегом на рынок/в магазин за необходимым (и, главное, непременно лицензионным :)) софтом. После этого обращайтесь опять, поможем разобраться.
P.S. Не стоит покупать диски типа "Все компиляторы C++", обычно на них дистрибутивы обрезанные и без документации. Я лично разорился на шестидисковый вариант MS Visual Studio .NET.

Ответ отправлен: 10.08.2003, 22:47
Отправитель: Bobs


Отвечает BOLT

Доброе время суток, Евгений!
Да... поистине чайники бывают разные, даже очень разные(особенно меня рассмешил 2-й пункт)... но это не страшно, ведь мы тоже не рождались хакерами!
 s  Итак, чтобы "превратить"(а правельно будет откомпилировать) исходный текст программы(текстовый файл - *.C, *.CPP, *.H и т.п.) в исполняемый модуль, нужно воспользоваться компилятором. Но это не все. Компелятор скомпелирует, если не будет ошибок в исходном коде, объектный файл(*.OBJ), который линкуем линковщиком и получаем, наконец, исполняемый модуль(*.EXE). Все это может автоматезировать среда разработки приложений(IDE)
1)Используй среду разработки, т.к. для новичка так легче. Рекомендую две системы мирового маштаба:
 s  а)Borland C++ Builder
 s  б)Microsoft Visual C++
желательно последних версий:
Borland C++ Builder 6.0 (полная версия на 5 дисках)
Microsoft Studio.NET (полная версия на 5 дисках и содержит VBasic, VC++, C# и т.д.)
Но если не хочешь заморачиваться, то используй Borland Turbo C++ 3.0 - старинная среда разработки приложений для DOS, компилятор соответственно такой же древний, но для обучения пойдет.


Ответ отправлен: 11.08.2003, 15:16
Отправитель: BOLT


Отвечает Twilight_Sun

Доброе время суток, Евгений!
Я лично начинал знакомство с С и С++ со средой разаработки ТС 3.0 (Turbo C 3.0, под ДОС такая, на 2 дискеты влазит), там сразу и компилируется всё в ехе по F9. В принципе сейчас под ДОС мало кто пишет, но обучатся, ИМХО, так удобней, нету всяких сложностей и наворотов.


Приложение:

Ответ отправлен: 11.08.2003, 14:49
Отправитель: Twilight_Sun


Отвечает vitya

Доброе время суток, Евгений!
как я понимаю спец образования у вас нет никакого. Соответственно советую - прочесть пару книжек по устройству компьютеров и ОС.
Для того, чтобы исходный код прдевратить в программу надо ее откомпилировать в компиляторе.
Под Windows советуется MSVisualC++ версий 6 и 7.

Ответ отправлен: 11.08.2003, 09:04
Отправитель: vitya


 Вопрос № 993

Здрасвуйте експерты
Я с коментариями по поводу вопросу "981"
Кароче, я попробывал все рарянты и от шо у меня получилось:
- поробывал совет Avl2k и нечиво хорошого не произошло
- воспользывался функцыей fgets по совету vitya и RedFox етот варянт ещо хуже преведущего, помоему я зделал все правильно
незнаю может у меня руки кривые или ещо шота. Вобщето я Паскаль хорошо знаю но на нем курсак уже написал, "С" осталось то там была такая функцыя Readln.

RedFox ты там заикался за функцыю read, для меня она неудобная потомушто я незнаю скоко у меня символов в строке, если ты можеш написать мне функцыю буду очень благодарен.
Может вы уважаемые знатоки ещо подумаете на ету тему ?...



Вопрос отправлен: 10.08.2003, 22:41
Отправитель: ol

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

Отвечает BOLT

Приветствую Вас, ol!
Я тут кое-что пропустил...
Я так понял, тебе нужна функция аналог паскалевского readln(string)?
Ну тогда могу предложить только такой способ для С:
char buffer[259]; //задаем буффер для строки
char * str; //указатель на строку
str1[0] = 257; //задаем макс вводимых символов
str = cgetc(str1); //получаем строку(здесь ты вводишь)
все, твоя строка находится в памяти, куда указывает str
Могу тебя заверить, что это точно также работает как оператор readln() в паскале, даже чуть быстрее!

Ответ отправлен: 11.08.2003, 17:09
Отправитель: BOLT


Отвечает Yuri Gordienko

Доброе время суток, ol!
лови описалово fread, ИМХО наиболее оптимальный вариант
-Функция:size_t fread (void *data, size_t size, size_t count,
FILE *stream)
Эта функция читает до count объектов размера size в массив.
Она возвращает число прочитанных объектов, которое может быть
меньше чем count, если происходит ошибка чтения, или
достигнут конец файла. Эта функция возвращает значение нуль (и
ничего не читает) если или size или count равен нулю.

Если fread достигает конца файла в середине объекта, она
возвращает номер прочитанных полностью объектов, и
отбрасывает несчитанные до конца.


Ответ отправлен: 11.08.2003, 12:45
Отправитель: Yuri Gordienko


Отвечает Avl2k

Доброе время суток, ol!
Уточните, что конкретно не работает. Может быть Вы забыли прочитать сами символы конца строки? На всякий случай :) - вот пример. Так как открываем файл в текстовом
режиме, то ставим просто "\n" вместо "\r\n":
#include <stdio.h>
int main()
{
struct a
{
char a1[100];
char a2[100];
char a3[100];
} t;
FILE* file = fopen( "test.txt", "r" );
if( file )
{
fscanf(file,"%[^\n]\n", &t.a1);
fscanf(file,"%[^\n]\n", &t.a2);
fscanf(file,"%[^\n]\n", &t.a3);
fclose( file );
}
return 0;
}
---------------------------------------------------
test.txt
This is line #1
This is line #2
This is line #3
С уважением, Avl2k.


Ответ отправлен: 11.08.2003, 15:35
Отправитель: Avl2k


Отвечает RedFox

Доброе время суток, ol!
Вышли свое мыло на мое (redfox_csl@tut.by), вышлю функцию. А насчет fgets - я же писал, там последний символ - это символ перевода строки; удаляй его и получишь чистую строку.


Ответ отправлен: 11.08.2003, 11:27
Отправитель: RedFox


 Вопрос № 994

Как мне используя MFC проиграть avi-файл.
С помощью класса CAnimateCtrl ничего не получается. В Win98 и Win2000 одинаково безрезультатно.Открывал файл по имени и по ID из ресурса.
Заранее благодарю.



Вопрос отправлен: 11.08.2003, 01:02
Отправитель: root

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

Отвечает Nevsky

Приветствую Вас, root!
Поставь на форму ActivX component (MediaPlayer), там в пропертисах много настроек.


Ответ отправлен: 11.08.2003, 14:07
Отправитель: Nevsky


Отвечает BOLT

Здравствуйте, root!
У меня все получается с помощью класс CAnimateCtrl.
Я делал вот так:

Video.Open("C:\Windows\Clock.avi"); //открываем нужный файл
Video.Play(0, -1, -1); //Проиграть файл начиная с
//первого фрейма до
//последнего бесконечное
//кол-во раз
Да прибудет с тобой Великая Сила!

This message was created by EMan1.4


Ответ отправлен: 12.08.2003, 11:53
Отправитель: BOLT


 Вопрос № 995

Где бы можно достать исходники для нарезчика болванок, или хотябы описание команд для пишуших Cd-rom-ов.



Вопрос отправлен: 11.08.2003, 05:25
Отправитель: DDMZ

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

Отвечает Yuri Gordienko

Добрый день, DDMZ!
Могу посоветовать посмотреть программы типа cdrecord - это под линукс, но с исходниками, и возможно, хоть ухватишься за что нибудь
Успехов

Ответ отправлен: 11.08.2003, 12:57
Отправитель: Yuri Gordienko


 Вопрос № 996

Здравствуйте, уважаемые!
Подскажите, пожалуйста, как в Visual C++ без использования MFC во время выполнения вывести строчку в окно Output?



Вопрос отправлен: 11.08.2003, 12:58
Отправитель: Алексей (lehasoft@mail.ru)

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

Отвечает Avl2k

Здравствуйте, Алексей!
В файле <crtdbg.h&rt; определены стандартные макросы для отладки. Для вывода строки пользуйтесь _RPT0, _RPT1 ..., а также _RPTF0, _RPTF1, ... Если надо чисто на WinAPI :), то пользуйтесь функцией OutputDebugString.
Пример:
#include <Windows.h>
#include <crtdbg.h>
int main()
{
_RPT0( _CRT_WARN, "Alarm! " );
OutputDebugString( "ttt" );
return 0;
}
С уважением, Avl2k.

Ответ отправлен: 11.08.2003, 13:17
Отправитель: Avl2k


Отвечает Маслов Андрей

Здравствуйте, Алексей!
Ну прямо таки как просто...
Поюзай какой-нибудь поток...
И покопайся в свойствах

Ответ отправлен: 11.08.2003, 17:45
Отправитель: Маслов Андрей


Отвечает BOLT

Доброе время суток, Алексей!
Могу посоветовать только это:
VOID OutputDebugString(
LPCTSTR lpOutputString
// строка для вывода в окне отладки
);
Да прибудет с тобой Великая Сила!

This message was created by EMan1.4


Ответ отправлен: 12.08.2003, 11:55
Отправитель: BOLT



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

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (37)
C / C++ (28)
Perl (3)
Builder / Delphi (22)
Pascal (28)
Basic / VBA (12)
Java / JavaScript (8)
PHP (7)
Криптография (10)
WinAPI (19)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (55)
"Железо" (42)
Поиск информации (28)
Администратору
Windows NT/2000/XP (27)
Linux / Unix (12)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (7)
КоАП (5)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

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

В избранное