(Часть 1) (*Закрыта*)Я начинающий, подскажите пожалуйста, как...
Если вы только начинаете осваивать среду разработки ВСВ - предлагаю возникающие вопросы размещать в данной теме. Не создавайте пожалуста отдельные темы - типа "Как мне запустить свое приложение на другом компьютере", "Как перевести String в char*" и тому подобное. Такие темы будут закрываться с отсылку в эту. Не обижайтесь.
Кроме того, не брезгуйте плиз, пользоваться поиском хотя бы, по нескольким критериям. Иногда бывает так, вопрос который возник у вас не столь оригинален - вполне возможно, кто то уже спрашивал его до вас :) Поверьте, отвечать на одни и теже вопросы тоже не всегда интересно.
Если вы задаете свой вопрос на форуме - что бы получить наиболее эффективный ответ - следуйте пожалуйста несложным правилам. Они просты:
0. Опишите чего вы хотели добиться.
1. Опишите ошибку которая у вас возникла, по возможности с текстом самой ошибки.
2. Если вы считаете это необходимым - приведите фрагмент(пожалуста не помещайте в свой вопрос весь листинг) кода, на который жалуется компилятор, коротко описав переменные которые используются, и как они инициализируются. Исходники высылайте или выкладывайте только в том случае, если вас об этом просят.
3. Если проблема связана с функцией какой либо библиотеки - не стесняйтесь залезть в хелп и найти там ее описание. То чтовы не рубите в английском, зато читаете Рабле в оригинале - отнюдь не оправдание. Людей для которых английский - родной, здесь немного. Пользуйтесь словарем, это дает результаты :)
4. Не забывайте - может быть ВСВ и имеет раширения по сравнению со стандартом - но тем не менее это С++. Не забывайте проверить, что в ваш проект подключены все необходимые заголовочные файлы, а так же файлы библиотек.
5. Если вы задали вопрос один раз - не нужно его повторять или дублировать, или размещать посты типа "Ну что никто не знает" и т.д. Вы рискуете узнать много разных путей, но так и не получить нужный вам ответ.
6. Форум - дело сугубо добровольное. Здесь ни кто НЕ ОБЯЗАН искать ответы на ваши вопросы. Если вам отвечают - то это только исключительно из любви к вам. :)
7. Исходя из выше сказанного, если вам не отвечают - ну возможно вас не любят :)
8. Для тех, кому нужно написать курсовую, программу, решить контрольную или тому подобное - существует раздел форума Студентам
Размещайте, плиз, свои посты там. Сообщения размещенные в данной теме - не будут перемещаться - они будут удаляться.
9. Если вы хотите пообщаться, обсудить тему, не связанную с ВСВ - милости просим: В "Отдохнем". Флуд в данном разделе не приветствуется.
Ну вроде все. Если что забыл - или не так - поправьте.
Удачи.
Посмотри в билдеровких примерах - как работать с сетью, как слушать сокет и т.д.
Спасибо, - покопаюсь.
Тяжело, конечно, вот так методом тыка изучать, но возможно. Буду искать.
Спасибо, - покопаюсь.
Тяжело, конечно, вот так методом тыка изучать, но возможно. Буду искать.
Ну так кто тебя заставляет методом тыка? Только на этом сайте с десяток статей найдется по теме сетевого/системного программинга. Что не понятно - задавай вопросы - но никто ж тебе не будет пересказывать хелпы и основы - вещь полезная даже для себя, но где взять столько времени? :)
(численные методы), в связи с этим вопрос:
Как можно сделать так, чтобы фомулу для вычисления в функции можно было бы задать через TEdit т.е:
{
float y=0;
y = sin(x)-2*x+1; //И вот эту формулу задавать через TEdit
return y;
}
Т.е. чтобы через помещенный на форму TEdit можно было вместо sin(x)-2*x+1 ниписать например cos(x)+10 итд. Такое задание формулы реализовано, например, в Advanced Grapher, но я так и не допер как это можно сделать.
Написал прогу интерполяции заданной функции
(численные методы), в связи с этим вопрос:
Как можно сделать так, чтобы фомулу для вычисления в функции можно было бы задать через TEdit т.е:
...
String Argument = Edit1->Text.SubStr(Edit1->Text.Pos("(")+1,Edit1->Text.Pos(")")-1);
...
if(Command == "cos"){
...
}
else if(Command == "sin"){
..
}
else {
ShowMessage("Фигня какая-то");
return;
}
...
пример естественно приблизительный - надо проверять на соответствие шаблону и т.п.
В любом случае спасибо!
Добавил через 2 часа :):
Читаю Страуструпа про его пример на эту тему - калькулятор - >200 строк, кошмар. Должен же быть стандартный способ или компонент...
Что не понятно - задавай вопросы - но никто ж тебе не будет пересказывать хелпы и основы - вещь полезная даже для себя, но где взять столько времени? :)
Тоже верно. Еще раз спасибо.
Читаю Страуструпа про его пример на эту тему - калькулятор - >200 строк, кошмар. Должен же быть стандартный способ или компонент...
:) :) :) :)
Дык и займись этим - если нужно. :)
заранее спасибо chrono
Не подскажите как сделать так, чтобы форму можно было перемещать при помощи мыши, даже, если стиль формы стоит bsNone.
заранее спасибо chrono
void __fastcall TFuncControl_frm::FuncTreeMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
const int SC_DRAGMOVE = 0xF012;
if (WindowState!=wsMaximized) // Чтобы не таскать развернутое во весь экран
{
ReleaseCapture();
Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
}
}
В Borland C++ 3.1 (DOS) прога выдает какой-то бред (вида CD-Key)
В BCBuilder 6 -- Access Violation : write at adress 0x0000000
В чём я запоролся? Помогите, завтра олимпиада, готовлюсь.
#include <conio.h>
void func(int * *a);
void main()
{
clrscr();
int * *arr=(int * *)new int [64];
// если int[64] заменить на int[8][8] - не помогает
func(arr);
for (int * *i=arr; i<=arr+64; i++) cout << *(*i);
delete [] arr;
getch();
}
void func(int * *a)
{
for (int * *i=a; i<=a+64; i++)
{
*(*i)=1;
}
}
Народ, помогите с динамическими двухмерными массивами!
В Borland C++ 3.1 (DOS) прога выдает какой-то бред (вида CD-Key)
В BCBuilder 6 -- Access Violation : write at adress 0x0000000
В чём я запоролся? Помогите, завтра олимпиада, готовлюсь.
#include <conio.h>
void func(int * *a);
void main()
{
clrscr();
int * *arr=(int * *)new int [64];
// если int[64] заменить на int[8][8] - не помогает
func(arr);
for (int * *i=arr; i<=arr+64; i++) cout << *(*i);
delete [] arr;
getch();
}
void func(int * *a)
{
for (int * *i=a; i<=a+64; i++)
{
*(*i)=1;
}
}
Я не уверен да и не профи в этом деле но по первому взгляду косяк в в твоих for... у тя массив обьемеом 64 и начинается он с нуля а заканчивается он 63!!! Вот у тя циклы и вылетаают за его предел!
Не может кто-нить подсказать как изменять громкость желательно при помощи TrackBar'а.
(плеера или системно).
я ток знаю как выключить его полностью:
DWORD AVolume=0x0000;
if(waveOutSetVolume((void*)WAVE_MAPPER,AVolume) == MMSYSERR_NOERROR)
или включить
DWORD AVolume=0xFFFF;
if(waveOutSetVolume((void*)WAVE_MAPPER,AVolume) == MMSYSERR_NOERROR).
void __fastcall TFpoisk::FilterSotrFilterRecord(TDataSet *DataSet,
bool &Accept)
{
if (Case->Checked)
{
Accept=pos(Filt->Text,
DataM->Otdel->FieldByName(zagolovky->Text)->AsString)!=0;
}
else
{
Accept=pos(AnsiUpperCase(Filt->Text),
AnsiUpperCase(DataM->Otdel->FieldByName(zagolovky->Text)->AsString))!=0;
}
}
Не знает pos. Что нужно сделать? Подскажите, пожалуйста. Пример из Мир интербейз.
И пользуясь случаем, хотелось бы узнать вот что:
скачал с нета для BCB6 FR_FIB, но он не хочет ставиться. Говорит нет пакета импорта fr6.bpi.
Никто не знает, где можно достать Fr_Fib, чтоб заработал. Или может у меня руки не от туда. Подскажите. У меня Fr3 и FireBird 1.5
Заранее благодарю.
Есть шаблон документа .xls, нужно посредством BCB6 заполнить информацией из базы .fdb. Как это лучше сделать, что использовать? Натолкните на путь истинный.
Большое спасибо.
int Position = Caption.Pos(Filt->Text);
if(Position)Accept = true;
else Accept = false;
}
Если нужно сравнение с учетом регистра - тогда нужно использовать CompareStr.
По поводу второго вопроса - скорей всего криво установлен фастрепорт.
Знаю, что не скромен в количестве задаваемых вопросов, но может кто подскажет.
Есть шаблон документа .xls, нужно посредством BCB6 заполнить информацией из базы .fdb. Как это лучше сделать, что использовать? Натолкните на путь истинный.
Большое спасибо.
Компоненты для доступа к базе и юзать поиск. Вся истина в нем.
Спасибо TheFeaR'у и kot_'у за помощь!
Не может кто-нить подсказать как изменять громкость желательно при помощи TrackBar'а.
(плеера или системно).
я ток знаю как выключить его полностью:
DWORD AVolume=0x0000;
if(waveOutSetVolume((void*)WAVE_MAPPER,AVolume) == MMSYSERR_NOERROR)
или включить
DWORD AVolume=0xFFFF;
if(waveOutSetVolume((void*)WAVE_MAPPER,AVolume) == MMSYSERR_NOERROR).
Получить текущую громкость и выполнить сдвиг на 8(16) бит. Помоему так. Счас уже точно не помню.
int Position = Caption.Pos(Filt->Text);
if(Position)Accept = true;
else Accept = false;
}
Если нужно сравнение с учетом регистра - тогда нужно использовать CompareStr.
По поводу второго вопроса - скорей всего криво установлен фастрепорт.
Я недалек в си. Почему плюется на CompareStr. Говорит не член AnsiString. А вообще у меня и с Pos строки мертво остаются на своем месте, может что-то не так делаю
Я недалек в си. Почему плюется на CompareStr. Говорит не член AnsiString. А вообще у меня и с Pos строки мертво остаются на своем месте, может что-то не так делаю
Ну потому и плюется - она действительно нечлен класса AnsiString. Это отдельная функция сравнения строк.
Обясни что именно ты пытаешься фильтровать?
Ну потому и плюется - она действительно нечлен класса AnsiString. Это отдельная функция сравнения строк.
Обясни что именно ты пытаешься фильтровать?
Есть техт поле Filt куда нужно ввести критерии фильтрации по какой либо таблице.
В зависимости от флажка фильтрация должна быть с учетом и без учета регистра. В данном случае
Датасет Sotrudn. В zagolovky->Text находятся названия столбцов таблицы.
Все-таки с Pos заработала, то как правильно ты говорил, нужно подумать, а потом писать.Впредь постараюсь.
А вот как сделать, чтобы с учетом регистра.
И насчет .xls и .fdb компоненты какие? Фибсы? И какой поиск, я не понял.
Есть техт поле Filt куда нужно ввести критерии фильтрации по какой либо таблице.
В зависимости от флажка фильтрация должна быть с учетом и без учета регистра. В данном случае
Датасет Sotrudn. В zagolovky->Text находятся названия столбцов таблицы.
Все-таки с Pos заработала, то как правильно ты говорил, нужно подумать, а потом писать.Впредь постараюсь.
А вот как сделать, чтобы с учетом регистра.
И насчет .xls и .fdb компоненты какие? Фибсы? И какой поиск, я не понял.
Для сравнения с учетом регистра используй функцию CompareStr примерно вот таким образом:
WideString SomeFields = WideString(...)//
int Pos = Sotrudn->FieldByName(SomeFiels)->AsString.Pos(Filt->Text);
if( Pos == 0){ Accept = false; return;}
int LT = Filt->Text.Leght();
//Здесь получаешь имя столбца для которого выполняется фильтр
String StringCompare = Sotrudn->FieldByName(SomeFiels)->AsString.SubString(Pos,LT);
int result = CompareStr(Filt->Text,StringCompare);
//И тут проверяешь
if(result == 0){
Accept = true;
}
else ...
тут все зависит еще и от того какая логика программы.
А поиск используй по форуму - как перенести данные в эксель.
Для сравнения с учетом регистра используй функцию CompareStr примерно вот таким образом:
Спасибо. Все работает, только я не пойму вот что:
используя Pos сравнение тоже идет с учетом регистра, тогда как без учета.
Я пробую так:
String Caption = UpperCase(DataM->Sotrudn->FieldByName(Fpoisk->zagolovky->Text)->AsString);
int Position = Caption.Pos(UpperCase(Fpoisk->Filt->Text)) ;
if(Position)Accept = true;
else Accept = false;
но ничего не выходит он к примеру на "и" ничего не выводит, а на "И" выводит Иванов.
нет.
Как правильно подключить Dllку к приложению на Builder,в консольном варианте работает,а в граф.
нет.
Что значит не работает? Задавайте плиз вопросы нормально. Выдает ошибку, или просто не загружает длл????
Что значит не работает? Задавайте плиз вопросы нормально. Выдает ошибку, или просто не загружает длл????
Спасибо за внимание. Все заработало :)
[QUOTE]Originally posted by kot_
Для сравнения с учетом регистра используй функцию CompareStr примерно вот таким образом:
Спасибо. Все работает, только я не пойму вот что:
используя Pos сравнение тоже идет с учетом регистра, тогда как без учета.
Я пробую так:
String Caption = UpperCase(DataM->Sotrudn->FieldByName(Fpoisk->zagolovky->Text)->AsString);
int Position = Caption.Pos(UpperCase(Fpoisk->Filt->Text)) ;
if(Position)Accept = true;
else Accept = false;
но ничего не выходит он к примеру на "и" ничего не выводит, а на "И" выводит Иванов.
Не знаю, по идее так и должно быть - строчная и прописная буквы - разные символы.
Просьба ногами не пинать.
Вопрос по Borland v_3.1. Собственно: после некоторого времени работы начал выдавать при компиляции любой проги (даже Hello,Word) ошибку: Compiling ..
Error ..: main must have a return type of int.
Проблему вроде решил с этой ошибкой. Так теперь линковщик не хочет видеть *.exe файл. Это версия от Борланда всегда так работала? Если знаете что где подкрутить подскажите, плиз. И еще: за v3.1 есть какие ненавороченные рабочие версии компиляторов С++?
Сейчас мне нужен только синтаксис С++ и v3.1 хватает(ло), но посматриваю в сторону Билдера. Знающие, подскажите что нужно обязательно подкрутить в настройках после установки Билдера для возможности программировать (без Визио, тока текст).
Доброго времени суток!
Просьба ногами не пинать.
Вопрос по Borland v_3.1. Собственно: после некоторого времени работы начал выдавать при компиляции любой проги (даже Hello,Word) ошибку: Compiling ..
Error ..: main must have a return type of int.
Проблему вроде решил с этой ошибкой. Так теперь линковщик не хочет видеть *.exe файл. Это версия от Борланда всегда так работала? Если знаете что где подкрутить подскажите, плиз. И еще: за v3.1 есть какие ненавороченные рабочие версии компиляторов С++?
Сейчас мне нужен только синтаксис С++ и v3.1 хватает(ло), но посматриваю в сторону Билдера. Знающие, подскажите что нужно обязательно подкрутить в настройках после установки Билдера для возможности программировать (без Визио, тока текст).
не совсем понятно - зачем придумывать себе проблемы? используй нормальный компилятор - хотя бы gcc. Да и борланда тот же 5.0.
не совсем понятно - зачем придумывать себе проблемы? используй нормальный компилятор - хотя бы gcc. Да и борланда тот же 5.0.
ОК. Я за!
Если несложно приведите мин_список популярных компиляторов С++ под Виндовс в порядке "наворочености" от простого к сложному.
А проблемка с v3.1 была в том, что в настройках была установлена спецификация языка ANSI и void main() не прокатывало (нужно было указывать тип int или не указывать ничего) когда же изменил спецификацию на Borland C++ проблема с компиляцией пропала.
Подскажите ссылочку на русскоязычный GetStart BCB_6.
ОК. Я за!
Если несложно приведите мин_список популярных компиляторов С++ под Виндовс в порядке "наворочености" от простого к сложному.
А проблемка с v3.1 была в том, что в настройках была установлена спецификация языка ANSI и void main() не прокатывало (нужно было указывать тип int или не указывать ничего) когда же изменил спецификацию на Borland C++ проблема с компиляцией пропала.
Подскажите ссылочку на русскоязычный GetStart BCB_6.
Используй поиск - ссылок куча.
Вот есть событие OnMouseMove оно срабатывает, когда мышь ездит по форме, а есть ли событие, которым можно отследить любое движение мыши (независимо от текущего фокуса)
проблема такая: в обработчике OnMouseMove на форме идут некоторые вычисления, когда по правой кнопке выпадает менюшка. НО когда я двигаю мышью при выпавшей менюшке, OnMouseMove на форме НЕ срабатывает... =( Оно и понятно, что не должен..
Подскажите как сделать так чтобы данные все-таки считались при движении мышью с выпавшей PopupMenu
Заранее большое спасибо
До конца проблему не понял, но м.б. тебе поможет
GetCursorPos(..)
До конца проблему не понял, но м.б. тебе поможет
GetCursorPos(..)
Спасибо, разобрался сам. Использовал событие OnContextPopup()
Вопрос: как у известного шрифта определить возможные размеры???
Заранее большое спасибо
Например, товары переходник склады. Как сделать, чтобы переходник заполнялся автоматом выбрав название склада и товар. И как сделать, чтобы в сетку вывелись товары, где в списке название склада.
Заранее благодарю.
Люди, скажите мне, пожалуйста, как загрузить или показать форму.
Т.е. есть в моем проекте две независимых формы. Как можно, допустим, при клике по кнопке на первой показать вторую форму?
Всем зарание спасибо.
Всем привет!
Люди, скажите мне, пожалуйста, как загрузить или показать форму.
Т.е. есть в моем проекте две независимых формы. Как можно, допустим, при клике по кнопке на первой показать вторую форму?
Всем зарание спасибо.
Правильно ли я понял:
нажал на кнопку-появилась форма.
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}
[/COLOR]
Пробовал fgetc и fscanf. Может еще что посоветуете?
Вообще, мне надо отсортировать содержимое файла по фамилии или успеваемости. В файле, соответственно, фамилии и успеваемость.
Что удобнее сделать? В массив это дело запихнуть или сортировать во временном файле?
Впрочем главная моя проблема с тем, что не могу прочитать из файла.
Код и ошибка на скрине
Помогите плиз! Не могу считать данные из файла в строковую переменную. Какая-то ошибка вылазиет и вылазиет. Не знаю что делать.
Пробовал fgetc и fscanf. Может еще что посоветуете?
Вообще, мне надо отсортировать содержимое файла по фамилии или успеваемости. В файле, соответственно, фамилии и успеваемость.
Что удобнее сделать? В массив это дело запихнуть или сортировать во временном файле?
Впрочем главная моя проблема с тем, что не могу прочитать из файла.
Код и ошибка на скрине
...
char *str = new char[MAX_SIZE];
Кроме того, файл можно загрузить непосредственно в Memo:
Memo1->LoadFromFile("c:\\text.txt");
и в нем сортировать. Для тебя по моему - самый простой вариант.