(Часть 1) (*Закрыта*)Я начинающий, подскажите пожалуйста, как...
Если вы только начинаете осваивать среду разработки ВСВ - предлагаю возникающие вопросы размещать в данной теме. Не создавайте пожалуста отдельные темы - типа "Как мне запустить свое приложение на другом компьютере", "Как перевести String в char*" и тому подобное. Такие темы будут закрываться с отсылку в эту. Не обижайтесь.
Кроме того, не брезгуйте плиз, пользоваться поиском хотя бы, по нескольким критериям. Иногда бывает так, вопрос который возник у вас не столь оригинален - вполне возможно, кто то уже спрашивал его до вас :) Поверьте, отвечать на одни и теже вопросы тоже не всегда интересно.
Если вы задаете свой вопрос на форуме - что бы получить наиболее эффективный ответ - следуйте пожалуйста несложным правилам. Они просты:
0. Опишите чего вы хотели добиться.
1. Опишите ошибку которая у вас возникла, по возможности с текстом самой ошибки.
2. Если вы считаете это необходимым - приведите фрагмент(пожалуста не помещайте в свой вопрос весь листинг) кода, на который жалуется компилятор, коротко описав переменные которые используются, и как они инициализируются. Исходники высылайте или выкладывайте только в том случае, если вас об этом просят.
3. Если проблема связана с функцией какой либо библиотеки - не стесняйтесь залезть в хелп и найти там ее описание. То чтовы не рубите в английском, зато читаете Рабле в оригинале - отнюдь не оправдание. Людей для которых английский - родной, здесь немного. Пользуйтесь словарем, это дает результаты :)
4. Не забывайте - может быть ВСВ и имеет раширения по сравнению со стандартом - но тем не менее это С++. Не забывайте проверить, что в ваш проект подключены все необходимые заголовочные файлы, а так же файлы библиотек.
5. Если вы задали вопрос один раз - не нужно его повторять или дублировать, или размещать посты типа "Ну что никто не знает" и т.д. Вы рискуете узнать много разных путей, но так и не получить нужный вам ответ.
6. Форум - дело сугубо добровольное. Здесь ни кто НЕ ОБЯЗАН искать ответы на ваши вопросы. Если вам отвечают - то это только исключительно из любви к вам. :)
7. Исходя из выше сказанного, если вам не отвечают - ну возможно вас не любят :)
8. Для тех, кому нужно написать курсовую, программу, решить контрольную или тому подобное - существует раздел форума Студентам
Размещайте, плиз, свои посты там. Сообщения размещенные в данной теме - не будут перемещаться - они будут удаляться.
9. Если вы хотите пообщаться, обсудить тему, не связанную с ВСВ - милости просим: В "Отдохнем". Флуд в данном разделе не приветствуется.
Ну вроде все. Если что забыл - или не так - поправьте.
Удачи.
Пока всё нормально. В Unit2.cpp наверху пишу
#include <glu.h>
Потом пытаюсь сделать Билд, но Билдер выдаёт типа нашёл дохренищща ошибок в gl.h ! Это же охренеть надо! Главное не в моих файлах ошибку нашёл, а в своих же! Абсурд!
Пытался создать классы для работы с OpenGL, но ткпой Билдер мне всё запорол! Переустановил ведь ровно полчаса назад, а всё равно такая же фигня!
Помогите как исправить всё это! Очень вас прошу!
У меня случилась вот какая хренотень: создаю я проект, в проекте одна лишь только формочка голая и всё. Далее создаю новый юнит (связку .cpp + .h) Unit2. В Unit1.h пишу
Пока всё нормально. В Unit2.cpp наверху пишу
#include <glu.h>
Потом пытаюсь сделать Билд, но Билдер выдаёт типа нашёл дохренищща ошибок в gl.h ! Это же охренеть надо! Главное не в моих файлах ошибку нашёл, а в своих же! Абсурд!
Пытался создать классы для работы с OpenGL, но ткпой Билдер мне всё запорол! Переустановил ведь ровно полчаса назад, а всё равно такая же фигня!
Помогите как исправить всё это! Очень вас прошу!
http://forum.codenet.ru/showthread.php?s=&threadid=22917&highlight=OpenGL
http://opengl.gamedev.ru/articles/
Мне с помощью моей программы нужно эмулировать работу пользователя с JAVA-апплетом(игрушкой). Пробовал анализировать графику, программа всё замечательно считывает, мышка бегает, но т.к. внешний вид апплета часто меняется, да и к тому же способ начинал работать у меня со сбоями после первой пары-тройки событий, то он оказался малопригоден. Можно ли узнать как-либо программно, что приходит на мой компьютер, заставляющее изменяться картинке на апплете, и Бильдеровской программой это ловить, то же с действиями пользователя и отсылкой соответствующих команд, не прибегая к помощи мыши? (примерно где начать копать)
И еще, у меня имеется связь программы с консольным приложением через пайпы, но когда консоль малоактивна, то запись и чтение из неё происходят без помех, но стоит консоли начать выдавать данные в довольно больших количествах и продолжительное время, на запись в неё уже ничего не поступает. Это особенность реализации пайпов и надо искать другие методы(если да, то какие), или искать ошибку у себя?
Здравствуйте.
Мне с помощью моей программы нужно эмулировать работу пользователя с JAVA-апплетом(игрушкой). Пробовал анализировать графику, программа всё замечательно считывает, мышка бегает, но т.к. внешний вид апплета часто меняется, да и к тому же способ начинал работать у меня со сбоями после первой пары-тройки событий, то он оказался малопригоден. Можно ли узнать как-либо программно, что приходит на мой компьютер, заставляющее изменяться картинке на апплете, и Бильдеровской программой это ловить, то же с действиями пользователя и отсылкой соответствующих команд, не прибегая к помощи мыши? (примерно где начать копать)
И еще, у меня имеется связь программы с консольным приложением через пайпы, но когда консоль малоактивна, то запись и чтение из неё происходят без помех, но стоит консоли начать выдавать данные в довольно больших количествах и продолжительное время, на запись в неё уже ничего не поступает. Это особенность реализации пайпов и надо искать другие методы(если да, то какие), или искать ошибку у себя?
По поводу пайпов - посмотри вот здесь
возмжно статья поможет разобраться.
Здравствуйте!
У меня не получается ловушка по звуковому сигналу .Wav от приложения-1 для работы с приложением-2. Может есть пример или совет.
С уважением:( :-? :???:
Я начинающий, подскажите пожалуйста, как...
Здравствуйте!
У меня не получается ловушка по звуковому сигналу .Wav от приложения-1 для работы с приложением-2. Может есть пример или совет.
С уважением:( :-? :???:
Добавьте в ловушку кусочек сыра или колбасы. Если не сработает - используйте универсальный девайс типа "пиво". :)
P.S.
Мона подробней - что есть ловушка в вашем понимании, как не получается?
Также нужен алгоритм расстановки (фамилий)в алфавитном порядке. Я пока только наинаю изуать си, поэтому интересует реализация через стандартные средсва (if,for,while и т.д.). Находить конкретный(max/min) элемент в массиве я умею, а как попроще добится изложенного выше, увы пока не догадываюсь:{
хотя я думал под стандартными средствами ты наоборот имеешь в виду готовые функции и библиотечки...хм...
а все же тебе надо чисто цифры сортировать или все же числа? :)
изучай алгоритмы сортировки; if,for,while тебе в руки и за дело.
хотя я думал под стандартными средствами ты наоборот имеешь в виду готовые функции и библиотечки...хм...
а все же тебе надо чисто цифры сортировать или все же числа? :)
Anton Chik
Антон - в этой теме отвечать не обязательно. Мало того - в данной теме отвечать желательно четко и конкретно - эта тема создана для людей, которые хотят получить ответ на свои вопросы. То что я не баню тебя за дебильные ответы в других темах - еще не повод отвечать в данной.
[COLOR=red]+ Anton Click[/COLOR] Всего наилучшего. Твой модератор.
CENTNER
Собствено в С/С++ отсутствует функция сортировки - и это в принципе правильно.
Но в конкретных реализациях существуют различные функции - типа Sort - в массивах строк (TString *),листах и тому подобное, существует так же реализация sort() - для каждого шаблона он отличается ровно на столько - на сколько реализация поиска максимального числа отличается для каждого из массивов.
Если это обычный массив, проблем особых нет
все что нужно тебе- сравнить два элемента:
если совпадает размерность величин. Если нет, или затраты на сравнение черезмерны - тогда надо использовать методологию Кнудта - но тогда на форуме искать ответы .... :)
Дело не в том что форум слаб. Для конкретного случая прийдется искать свое решение. От этого никуда не деться.
"Как мне запустить свое приложение на другом компьютере
Поиск не помог конкретно.
Признаться я не ожидал, что ЕХЕфайл скомпилированный из ВСВ будет требовать что-то еще для запуска на другом компьютере (где нет ВСВ).
Так например, настоятельно "просит" borlndmm.dll. Но есть такое чувство, что потребуется чуть ли ни весь Билдер установить. В тех.характеристиках ЕХЕ как Import Table кроме borlndmm.dll,имеется vcl40, tee40 и пр. Но они в отличии от borlndmm не представлены отдельным файлом.
Поиск не помог конкретно.
:) Ну ты чисто конкретно наверно искал.
Признаться я не ожидал, что ЕХЕфайл скомпилированный из ВСВ будет требовать что-то еще для запуска на другом компьютере (где нет ВСВ).
Так например, настоятельно "просит" borlndmm.dll. Но есть такое чувство, что потребуется чуть ли ни весь Билдер установить. В тех.характеристиках ЕХЕ как Import Table кроме borlndmm.dll,имеется vcl40, tee40 и пр. Но они в отличии от borlndmm не представлены отдельным файлом.
Попытайся снять галочку Build with runtime packages. если не хочется тянуть за собой borlndmm.dll - необходимо убрать так же галку Use dinamic RTL.
Но в данном случае необходимо иметь ввиду что размер файла увеличится раз в 10.
Для того что бы определить что нужно приложению я использую два способа:
1. Утилита tdump
c:\>tdump project.exe > import.txt
2. Прога для создания инсталляторов, я в частности использую InstallShild - проще и удобней заодно позволяет динамически проверить зависимости.
:) Ну ты чисто конкретно наверно искал.
Попытайся снять галочку Build with runtime packages. если не хочется тянуть за собой borlndmm.dll - необходимо убрать так же галку Use dinamic RTL.
Но в данном случае необходимо иметь ввиду что размер файла увеличится раз в 10.
Для того что бы определить что нужно приложению я использую два способа:
1. Утилита tdump
c:\>tdump project.exe > import.txt
2. Прога для создания инсталляторов, я в частности использую InstallShild - проще и удобней заодно позволяет динамически проверить зависимости.
Поражаюсь стойкости и выдержке людей, которые столько раз в состоянии не то что отвечать, а просто читать одни и те же вопросы. :)
А, между прочим, человек, у которого нет интернета, через день, два или неделю сам догадывается как запустить приложение на другой машине. ... а человек, который знает что такое "import table", казалось бы... хотя, люди разные бывают...
Поражаюсь стойкости и выдержке людей, которые столько раз в состоянии не то что отвечать, а просто читать одни и те же вопросы. :)
А, между прочим, человек, у которого нет интернета, через день, два или неделю сам догадывается как запустить приложение на другой машине. ... а человек, который знает что такое "import table", казалось бы... хотя, люди разные бывают...
Хз. Я сам удивляюсь. Но лучше пусть подобные вопросы будут в одной теме.
Кстати на http://soft-best.ws появился форум для программеров. Как говорится велкам :)
code: if(i==j)....
если совпадает размерность величин.
Не совсем понимаю вышеизложенное...
Чего я добьюсь сравнвая два элемента?
Вот, например массив: 1,3,8,5,2
Можно наверно менять их местами
if (mass>mass[i+1])
но тогда получим: 1,3,5,2,8...
Обьясните, пожалуйста, подробнее суть принципа.
Не совсем понимаю вышеизложенное...
Чего я добьюсь сравнвая два элемента?
Вот, например массив: 1,3,8,5,2
Можно наверно менять их местами
if (mass>mass[i+1])
но тогда получим: 1,3,5,2,8...
Обьясните, пожалуйста, подробнее суть принципа.
Имеется ввиду, то что методы типа sort() ничего не знают о способох сравнения упорядочиваемых элементов и поэтому требуют задания спец. функции, которая бы задавала правила сравнения элементов.
Вот пример для наглядности:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int sort_function( const void *a, const void *b); //Правила сравнения
char list[5][4] = { "cat", "car", "cab", "cap", "can" }; //строки для сортировки
int main(void)
{
int x;
qsort((void *)list, 5, sizeof(list[0]), sort_function);
for (x = 0; x < 5; x++)
printf("%s\n", list[x]);
return 0;
}
int sort_function( const void *a, const void *b)
{
return( strcmp((char *)a,(char *)b) );
}
Подскажите как AnsiString сконвертирвоать в WideString?
AnsiString::WideChar
Converts the AnsiString to a wide-character array.
wchar_t* __fastcall WideChar(wchar_t* dest, int destSize) const;
Description
WideChar converts the AnsiString to an array of wide characters, and returns the resulting wide-character array.
dest is a buffer the caller allocates to hold the return value. Use the WideCharBufSize method to determine the size needed to hold the entire string value.
destSize is the size, in bytes, of dest.
WideChar returns a pointer to the wide-character array that is written to dest.
AnsiString::WideCharBufSize
Returns the size of the buffer required by the WideChar function.
int __fastcall WideCharBufSize() const;
Description
WideCharBufSize returns an integer value indicating the size of the buffer required by the WideChar method in order to convert this string.
AnsiString::WideChar
Converts the AnsiString to a wide-character array.
wchar_t* __fastcall WideChar(wchar_t* dest, int destSize) const;
Description
WideChar converts the AnsiString to an array of wide characters, and returns the resulting wide-character array.
dest is a buffer the caller allocates to hold the return value. Use the WideCharBufSize method to determine the size needed to hold the entire string value.
destSize is the size, in bytes, of dest.
WideChar returns a pointer to the wide-character array that is written to dest.
AnsiString::WideCharBufSize
Returns the size of the buffer required by the WideChar function.
int __fastcall WideCharBufSize() const;
Description
WideCharBufSize returns an integer value indicating the size of the buffer required by the WideChar method in order to convert this string.
Отличный ответ, как раз для FAQа ;)
Отличный ответ, как раз для FAQа ;)
Ну ты же понял. ;) . Просто влом было с английского переводить.
Подскажите пожалуйста как сделать одну общую переменную для нескольких форм, то есть чтобы на одной форме я ее вводил и работал с нею а на другой я выводил ее, к примеру.
В файле первой формы объявляешь глобально, например, int a
А в файле второй формы объявляешь глобально, опять же, extern int a, это ознчает, что такая переменная где-то уже объявлена (the true is out there :))
Можете пользоваться одной переменной
Подскажите пожалуйста как сделать одну общую переменную для нескольких форм, то есть чтобы на одной форме я ее вводил и работал с нею а на другой я выводил ее, к примеру.
Указатель на твой класс формы в пределах проекта является глобальным и ты можешь обращаться к нему из любого места, естественно включив заголовочный файл. Поэтому тебе необходимо объявить переменную в паблик разделе класса и она будет доступна всем. Так же доступны все компоненты, которые находятся на форме.
__fastcall TfmMain(TComponent* Owner);
int GlobalTZifra;
//Эта переменная будет видна всем
Но лучше избегать глобальных переменных, гораздо проще в форме котороя должна использовать глобальную переменную объявить паблик-функцию и в нее передавать нужные тебе данные. Использование переменных оправданно в крайне редких случаях - в остальных случаях - это не умение программировать.
" SELECT * FROM 'books.db'WHERE (Author="то, что должен ввести пользователь") "
Сразу оговорюсь, что книгу Архангельского достать не могу; тех книг, что есть, явно недостаточно, и в интернете искать не могу - время сильно ограничено. Подскажите, пожалуйста. Или дайте ссылку, где можно найти нужную информацию.
Заранее спасибо.
Разрешите дурацкий вопрос. Мне нужно сделать запрос к БД. Смысл в том, чтобы строку символов, введенную пользователем в Edit1, вставить в SQL запрос
" SELECT * FROM 'books.db'WHERE (Author="то, что должен ввести пользователь") "
Сразу оговорюсь, что книгу Архангельского достать не могу; тех книг, что есть, явно недостаточно, и в интернете искать не могу - время сильно ограничено. Подскажите, пожалуйста. Или дайте ссылку, где можно найти нужную информацию.
Заранее спасибо.
Google.com
String SQL = "SELECT * FROM 'books.db'WHERE Author ="+Edit1->Text.Trim();
Query->SQL->Add(SQL);
Query->Active = true;
OR
Query->Parameters->ParamByName("@Author")->Value = Edit1->Text.Trim();
Query->Active = true;
Google.com
String SQL = "SELECT * FROM 'books.db'WHERE Author ="+Edit1->Text.Trim();
Query->SQL->Add(SQL);
Query->Active = true;
OR
Query->Parameters->ParamByName("@Author")->Value = Edit1->Text.Trim();
Query->Active = true;
Спасибо вам большое) вы буквально спасаете мне жизнь. Еще один глупый вопрос в догонку, если не трудно..
Author ="+Edit1->Text.Trim();
.Trim()-это что?
Спасибо вам большое) вы буквально спасаете мне жизнь. Еще один глупый вопрос в догонку, если не трудно..
Author ="+Edit1->Text.Trim();
.Trim()-это что?
Удалить из строки лишние пробелы.
З.Ы. Интересно, никому на водительских форумах не попадались мессаги типа - "Правила читать некогда, учится водить не когда, подскажите где педель сцепления,срочно нужно доехать из пункта А в пункт Б"? :)
Делаю:
char inf[8];
int a;
a= HexToBin(Edit1->Text.c_str(),inf,16*sizeof(char));
И при Edit1->Text.c_str()=52222
Буфер выглядит так:
inf[0]=52
inf[1]=22
inf[2]=00
???
Думаю есть намного проще способы, подскажите пожалуйста.
Спасибо.
Сам отвечу на свой вопрос, так как всемогущий поиск всегда даёт результат. Человек так же бился как и я и ...
РЕШЕНИЕ:
char *s = "0xFF";
Memo1->Text = StrToInt(s);
ПОДРОБНОСТИ: http://borland.xportal.ru/forum/printview.php?t=13438&start=0&sid=e36bf823db9b2a9dce2b68472dd3ba8c
Скажите пожалуйста, а как можно удалить n-ный символ из строки?
MyString.Delete(7,7);
удалит седьмой символ.
MyString.Delete(7,7);
удалит седьмой символ.
что-то мне кажиться что она удалит 7 символов начиная с седьмого!
Есть идеи, но не могу понять где стоит копать!
Есть ВЕБ-камера, подключенная через USB, есть(пока в разработке) прожект, который должен выводить изображение захваченное камерой на форму и сохранять его в файл.
С чего начинать разбор работы с камерой пока не понял, а заказчик ждет...
Зараннее благодарен!!!
Ситуация - есть основной поток и в нём я создаю нить, теперь в основном потоке мне нужно дождаться завершения нити и далее по результатам выпленуть на форму.
Использовать WaitForSingleObj...??? Или завести таймер, который будет опрашивать какую-нибудь переменную, инициализируемую в конце выполнения нити? Как лучше?
И корректно в контексте нити модифицировать или использовать элементы формы? Т е Form1->Edit1->... Form1->ComboBox->...
Я в этом классе не сломаю ничего?
Спасибо.,
Подскажите пожалуйста, как лучше основной поток синхронизировать с нитями?
Ситуация - есть основной поток и в нём я создаю нить, теперь в основном потоке мне нужно дождаться завершения нити и далее по результатам выпленуть на форму.
Использовать WaitForSingleObj...??? Или завести таймер, который будет опрашивать какую-нибудь переменную, инициализируемую в конце выполнения нити? Как лучше?
И корректно в контексте нити модифицировать или использовать элементы формы? Т е Form1->Edit1->... Form1->ComboBox->...
Я в этом классе не сломаю ничего?
Спасибо.,
Если "нить" - это созданный через "File/New/Thread Object" поток, то в его методе Execute можно использовать замечательную команду Synchronize. О том как ее использовать тоже подробно написано в самом же юните.
Сама суть состоит в том, что: выполняем в потоке все наши действия, и с директивой Synchronize(ShowResults) выплевываем все на форму. (ShowResults - это должна быть твоя функция (без параметров) выводящая результаты)
В билдере для структур (struct) есть понятие сжатая?
(По аналогии с делфи, там для record есть понятие packed)
У меня вопрос (простой, поэтому здесь):
В билдере для структур (struct) есть понятие сжатая?
(По аналогии с делфи, там для record есть понятие packed)
Есть объединения, есть битовые поля.
Есть объединения, есть битовые поля.
Пожалуйста, поподробней...
Объединения - это union? Если да, то оно мне не к стати.
Что есть битовые поля?
Мне нужно, чтобы
unsigned short ID;
__int64 data;
};
занимала 10 байт, а не 16. Большая скорость доступа к ней мне не нать. Это запись к файлику типа таблицы БД. Записей в нем уйма, и 60% пустого веса мне в нем совершенно не нужны.
Пожалуйста, поподробней...
F1->Index->Bit fields->Ok.
F1->Index->Bit fields->Ok.
Нда, сухости в ответах не занимать :)
Нашел я ответ на свой вопрос (как избавиться от пустого веса в struct'ах, если скорость не критична) :
Заходим в билдере в Progect/Edit option source/
В открывшемся XML редакторе bpr-файла находим секцию
<OPTIONS>, там находим запись типа -a[n]. Здесь n - число байт шага упаковки. Поставил в своем случае -a2 и получил вес записи 10 байт.
Остался один вопрос: как сделать этоже ТОЛЬКО для моей структуры, т.е. как бы перед объявлением структуры открыть тег -а2, а после объявления восстановить исходный?
Остался один вопрос: как сделать этоже ТОЛЬКО для моей структуры, т.е. как бы перед объявлением структуры открыть тег -а2, а после объявления восстановить исходный?
F1->Index->#pragma->Ok
#pragma option