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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 789
от 07.07.2007, 17:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 486, Экспертов: 59
В номере:Вопросов: 4, Ответов: 8


Вопрос № 93548: Уважаемые знатоки, внимание! Вопрос от чайника! Как в билдере сделать таблицу и присвоить массиву значения ячеек вместо приведенного ниже кода ...
Вопрос № 93585: Прочитал я только что вопросик №92.953 в котором начинаючий просил посоветовать с чего начинать свой путь с С/С++... очень сильно люди выхваляли MS VC 6.0... В свзи с чем у меня зародился вопрос глобального плана - "Умеет ил MS VC 6.0 работать с...
Вопрос № 93639: Эксперты,помогите справиться с заданием.Условие: Аппроксимизировать заданную поверхность(сфера) полигональной сеткой и средствами OpenGL обеспечить для неё возможность а)Изображения в параллельной и перспективной прооекции; б)Удаления нев...
Вопрос № 93640: Здравствуйте, уважаемые эксперты! Помогите написать следующую функцию на C: char* str_replace(char* source, char* fromtext, char* totext); Она дожна заменять все вхождения подстроки fromtext на подстроки totext. Замена производится в стро...

Вопрос № 93.548
Уважаемые знатоки, внимание! Вопрос от чайника!
Как в билдере сделать таблицу и присвоить массиву значения ячеек вместо приведенного ниже кода

Приложение:

Отправлен: 01.07.2007, 17:07
Вопрос задал: Trifit (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: ramok
Здравствуйте, Trifit!

если предположить что KDay и подобные переменные это TLabel *,
тогда можно примерно так как указано в приложении.

Приложение:

Ответ отправил: ramok (статус: Практикант)
Ответ отправлен: 02.07.2007, 01:29

Отвечает: Попов А.С.
Здравствуйте, Trifit!
Если автор имел ввиду таблицу типа TStringGrid то код должен быть следующим:
int i=0;
for(i=0;i<7;i++)
StringGrid1->Cells[1][i+1]=FloatToStr(day[i]);
Ответ отправил: Попов А.С. (статус: 1-ый класс)
Ответ отправлен: 02.07.2007, 05:05


Вопрос № 93.585
Прочитал я только что вопросик №92.953 в котором начинаючий просил посоветовать с чего начинать свой путь с С/С++... очень сильно люди выхваляли MS VC 6.0... В свзи с чем у меня зародился вопрос глобального плана - "Умеет ил MS VC 6.0 работать с базамы данных?"
под базами данных понимаеться - DataBase(*.dbf), MySQL, Оракл.
Базируется данный вопрос на следующем моменте - специфика моей деятельности сталкивает меня с ДБФ файлами постоянно, но чем дальше в лес, тем больше я понимаю, что происходит с файлами, как с ними работает ПО... После предпринятой попытки перехода на CBuilder ощущение непонимания осталось...
Подведу итог.
Умеет или MS VC 6.0 работать с DataBase(*.dbf). если да. то каким образом? какие еще форматы баз данных можна обрабатывать?
Отправлен: 02.07.2007, 00:03
Вопрос задал: Василенко Алексей Васильевич (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Jadd
Здравствуйте, Василенко Алексей Васильевич!
MS VC++ никакого отношения к базам данных не имеет - это язык и среда программирования. Для работы с базами данных в MFC есть классы (CRecordset, CDaoRecordset и тп). Работать с dbf-ами можно по-разному. Есть вариант через ADO. Есть вариант через ODBC. А есть вариант пойти по ссылке сюда и скачать классы для работы конкретно с dbf.

Удачи.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Профессионал)
Адрес: Санкт-Петербург
WWW: http://www.sport-diary.ru
----
Ответ отправлен: 02.07.2007, 00:17
Оценка за ответ: 5
Комментарий оценки:
благодарю за ответ. конечно MS VC++ это среда.
отдельная благодарность за ссылку

Отвечает: Maxim V.G.
Здравствуйте, Василенко Алексей Васильевич!
MSVS также как и билдер работает с базами данных через "драйверы" баз данных которые содержат в себе структуры, методы и способы обращения к таблицам! Вам уже были предложенны варианты для работы с *.dbf файлами, а я добавлю про оракл и MySQL. В дистрибутиве с MySQL поставлется хедеры библиотеки для С++ и сама библиотека. Для обращения к базе данных остаётся подключить эту библиотеку к проекту. Кроме того есть масса готовых классов для работы с MySQL. Для оракле есть OCL (Oracle Class Library), насколько я понял для прямого обращения к базам данных. Ещё есть OraDeveloper Tools которые интегрируются в среду MSVS. Также они должны уметь интегрироваться Borland С++ (по крайней мере для Делфи заявлена поддержка, наверняка и с билдером работать будет). Для MSVS есть ещё множество способов и классов для работы с базами данных любых форматов.
Мой совет - гугли конкретный датабейс и выбирай себе более удобный способ коннекта.
Удачи.
---------
Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 2-ой класс)
Ответ отправлен: 03.07.2007, 14:29
Оценка за ответ: 5
Комментарий оценки:
благодарю за исчерпывающий ответ.
т.е. получается. что разница между Builder"om и MS VC только в том. что в буилдере переносятся компоненты, а в Вижуале прописуются хедеры.. я об этом как-то не подумал...
вобщем пасиба большое за ответ


Вопрос № 93.639
Эксперты,помогите справиться с заданием.Условие:
Аппроксимизировать заданную поверхность(сфера) полигональной сеткой и средствами OpenGL обеспечить для неё возможность
а)Изображения в параллельной и перспективной прооекции;
б)Удаления невидимых линий и поверхностей;
в)Реалистичного освещения;
г)Каркасного изображения.
Помогите сделать хоть часть!
Отправлен: 02.07.2007, 12:34
Вопрос задал: Smirnov Artur Sergeevich (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Ross
Здравствуйте, Smirnov Artur Sergeevich!

Решение в приложении. Не знаю, что такое параллельная проекция :( , поэтому написал только для перспективной. Кнопки:
F - изменяет режим заливки полигонов
Вверх, вниз - детализация
Щелчок левой клавишей мыши и потяжка - поворот сцены, правой - приближение - удаление.

Чтобы это все заработало, создай в Visual Studio проект Win32 Application.
Из сгенерированного мастером файла (того в котором WinMain) удали все и вставь этот код. После этого не забудь добавить в Project -> Properties -> Linker -> Additional Dependices библиотеки opengl32.lib glaux.lib glu32.lib

Удачи

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 02.07.2007, 19:00


Вопрос № 93.640
Здравствуйте, уважаемые эксперты!
Помогите написать следующую функцию на C:
char* str_replace(char* source, char* fromtext, char* totext);
Она дожна заменять все вхождения подстроки fromtext на подстроки totext. Замена производится в строке source.
(получается аналог функции ansireplacestr в Delphi).
Функцию нужно сделать на C (не C++ (!)), чтобы её можно было скомпилировать под linux компилятором gcc.
Готовой такой функции в string.h я не нашел. Пытался написать подобное с помощью цикла с фукцией strtok, вылезают ошибки с памятью.
Подскажите, как по-проще это можно реализовать. Спасибо.
Отправлен: 02.07.2007, 12:47
Вопрос задал: Alexius (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Попов А.С.
Здравствуйте, Alexius!
См. в приложении
прим. не стал переименовывать s1,s2,s3 но порядок указателей как в вопросе

Приложение:

Ответ отправил: Попов А.С. (статус: 1-ый класс)
Ответ отправлен: 02.07.2007, 15:03
Оценка за ответ: 5

Отвечает: Терсков Сергей
Здравствуйте, Alexius!
Попробуйте вот этот вариант... Здесь заголовочный файл string.h вообще не используется. Код выполнен по стандарту С, так что любой компилятор должен с ним разобраться.

Приложение:

Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 03.07.2007, 04:41
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое! То, что нужно!!

Отвечает: Victor Lvv
Здравствуйте, Alexius!
вот...
char* str_replace(char *ssource,char *sfrom,char *stotext)
{
// обработка входной информации
if(ssource==NULL || sfrom==NULL || stotext==NULL)return NULL;
////////////////////////////////////////////////
char *s,*ptr=ssource,*out;
int lenfrom=strlen(sfrom),lento=strlen(stotext),numzamen=0,i=0,len=0;
while(s = strstr(ptr,sfrom))numzamen++,ptr=s+lenfrom;
if(numzamen==0)return ssource;
ptr=ssource;
len = strlen(ssource)- numzamen*(lenfrom-lento)+1;
out = new char[len+1];
memset(out,0x00,(len+1)*sizeof(char));
while(s=strstr(ptr,sfrom)){
i = s-ptr;
if(i){strncat(out,ptr,i);ptr += i;}// запоминаем символы между заменами
else{strncat(out,stotext,lento);ptr += lenfrom;}// вставляем замену
}
// добавляем конец строки
strcat(out,ptr);
return out;
}
Ответ отправил: Victor Lvv (статус: 1-ый класс)
Ответ отправлен: 03.07.2007, 10:38
Оценка за ответ: 5
Комментарий оценки:
Спасибо!


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное