Обсуждение компонентов. Сравнение, фичи, проблемы - все в эту тему
есть такая небольшая проблемка. Вобщем есть компонент TTreeView, на нем отображено дерево, выделен какой-либо из элементов этого дерева. При потери фокуса TTreeView, становится не видно какой элемент там выделен. В свойствах ничего подходящего не нашел. Неужели надо это как-то вручную обрабатывать?
Кто сталкивался с такой проблемкой, подскажите решение.
есть такая небольшая проблемка. Вобщем есть компонент TTreeView, на нем отображено дерево, выделен какой-либо из элементов этого дерева. При потери фокуса TTreeView, становится не видно какой элемент там выделен. В свойствах ничего подходящего не нашел. Неужели надо это как-то вручную обрабатывать?
Кто сталкивался с такой проблемкой, подскажите решение.
Или в свойствах.
Вобщем такая ситуация. Пишу программку, в настройках Билдера включена опция "Code Completion", то есть автоматическое завершение кода. У меня такое ощущение, что при преодолении размеров исходников определенного размера эта вещь перестает работать. Например сейчас, если я редактирую где-нибудь в начале своей программки (я имею ввиду в начале текста программы) завершение кода работает. Если редактирую во второй половине программы - не работает, выдает следующую ошибку:
Unable to invoke Code Completion due to errors in source code.
Причем программка абсолютно рабочая, компелируется без ошибок и даже без предупреждений.
В чем может быть проблема?
Вобщем такая ситуация. Пишу программку, в настройках Билдера включена опция "Code Completion", то есть автоматическое завершение кода. У меня такое ощущение, что при преодолении размеров исходников определенного размера эта вещь перестает работать. Например сейчас, если я редактирую где-нибудь в начале своей программки (я имею ввиду в начале текста программы) завершение кода работает. Если редактирую во второй половине программы - не работает, выдает следующую ошибку:
Unable to invoke Code Completion due to errors in source code.
Причем программка абсолютно рабочая, компелируется без ошибок и даже без предупреждений.
В чем может быть проблема?
Если все компилиться, то значит глюки билдера. Я обычно использую Ctrl+Spacebar. А обхожу подобные ошибки временным перенесением строки в начало кода, где и вызываю.
если да, то буду признателен, если напишите в личку, а хотя... я и здесь прочитаю не обленился еще совсем :)
всем заранее спасибо! ;)
Просто в большом проекте слишком много всяких идентификаторов. Посему их количество просто переполняет список.
Посему нужно перед отображением подстановок сокращать список:
- для свойств и методов класса писать this-> - явное указание ограничения.
- просто в тексте можно ставить пару букв начала имени класса, объекта или функции.
В результате этого всё будет не просто работать, а быстрее обычного :D
А мешает-ли голова, плохому танцору, посмотреться в зеркало если он еще и боксер:)
Используй WinInet или WinHTTP:
1. + Это удобно и просто
2. + Веса программе практически (по сравнению с компонентами) не добавляет
3. - По сравнению с сокетами это немного медленее, но сравненимо с компонентами
{
//TODO: Add your source code here
//получение статистики через WinInet
//https://statserv.sbor.net/cgi-bin/clients/login
// for POST
// char *pTarget = "/cgi-bin/clients/login";
// char *pOptHeaders = "user=username";
// for GET
//char *pTarget = "/cgi-bin/clients/login?login=&password=";
//char *pOptHeaders = NULL;
String Line, Msg;
HINTERNET hInternet = ::InternetOpen("AGENT 007",
INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
HINTERNET hConnection = ::InternetConnect(hInternet, "statserv.my.net",
INTERNET_DEFAULT_HTTPS_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
HINTERNET hRequest = ::HttpOpenRequest(hConnection , "POST",
"/cgi-bin/clients/login",
HTTP_VERSION, NULL, NULL,
INTERNET_FLAG_SECURE, NULL);
if(TRUE == ::HttpSendRequest(
hRequest,
NULL,
0,
params.c_str(),
params.Length()))
{
//... читаем ...
DWORD dwRead;
TCHAR szTemp[1024];
while (::InternetReadFile(hRequest, (LPVOID)szTemp, 1023, &dwRead))
{
if (!dwRead) break;
szTemp[dwRead]='\0';
Line = Line + String(szTemp);
}
}
::InternetCloseHandle(hRequest);
::InternetCloseHandle(hConnection);
::InternetCloseHandle(hInternet);
// ... парсим ... // а перекодировать страницу лень...:)
//уХННБ ОБ УЮЕФХ - Сумма на счету
int startpos = Line.Pos ( "уХННБ ОБ УЮЕФХ" ) + AnsiString( "уХННБ ОБ УЮЕФХ</td>\
<td class=\"inf_data\"> ").Length();
Line = Line.SubString ( startpos + 1, Line.Length() );
startpos = 1;
int endpos = Line.Pos ( "</td>" );
// ... формируем сообщение ...
Line = Line.SubString ( startpos, endpos-startpos );
Msg.printf("Сумма на счету:\n\r%s руб.", Line.c_str());
// ... получаем HWND Browser-а ...
HWND hBrowser=NULL;
long lBrowser;
if ( SUCCEEDED (m_pWebBrowser2->get_HWND(&lBrowser)))
hBrowser=(HWND)lBrowser;
MessageBox(hBrowser, Msg.c_str(), FLogin.c_str(), MB_OK);
}
...
String sPostData= "login=" + FLogin + "&password=" + FPassword;
WIGetStat(sPostData);
У меня есть popapmenu, котоое привязано к listview, как мне сделать, чтобы если не выделен элемент списка меню не появлялось?
Я это знал,
а куда этот код вставить, что бы меню не открывалось?
а куда этот код вставить, что бы меню не открывалось?
3.14дец. Прыплыли. Анекдот о дне рождения Наташи Ростовой тебе известен? Потому как приличных вариантов на твой вопрос весьма не много.
Ну оно же у тебя всплывает по какому-то событию? Вот в этом событии и обрабатывай. И вызов меню делай руками. Обычно это выполняется в событии onMouseUp компонента.
З.Ы. Кста, еще один подобный вопрос за пределами темы "Я начинающий..." будет бан. Надоел. Найди архангельского и прочти - потом задавай вопросы. Последнее китайское предупреждение.
Сразу так не подскажу, я тоже не силен в этом:(
См. в MSDN описание функций WinInet и флагов к ним их там МноооГо...
ЗЫ: кстати, никак не могу тебе добавить отзыв..... что за нафик... все время пишет "Вы должны добавить отзыв кому-то еще, прежде чем сможете снова добавить ее GIZMO.".... хотя последний отзыв был вовсе не тебе :(
ЗЫ: кстати, никак не могу тебе добавить отзыв..... что за нафик... все время пишет "Вы должны добавить отзыв кому-то еще, прежде чем сможете снова добавить ее GIZMO.".... хотя последний отзыв был вовсе не тебе :(
я опять хз:) наверно меня забанили:)))
просто на самом деле помогло :)
Помогите найти нормальный компонент для проигрывания GIF формата!!!
Просто срочно нужно!
Заранее спасибо!
Помогите найти нормальный компонент для проигрывания GIF формата!!!
Просто срочно нужно!
Заранее спасибо!
Зарание пожалуйста.rxLib чем не подходят?
Помогите найти нормальный компонент для проигрывания GIF формата!!!
Просто срочно нужно!
Заранее спасибо!
TGifImage достаточно хорош!!
Спасибо, нашел-установил.
У компоненты TImage у свойства Picture появилась новая маска *.gif, но когда я пытаюсь выбрать GIF файл (анимационный) у меня весь Builder намертво зависает... раз за разом... но когда выбираю не анимационный GIF файл все нормально.
Компоненту скачал по этой вот ссылке:
http://www.torry.net/quicksearchd.php?Stri...e&Title=Yes
вычитал что надо зарегестрировать еще формат GIF:
: TForm(Owner)
{
// регистрируем .gif
TPicture *Picture = new TPicture();
Picture->RegisterFileFormat(__classid(TGIFImage), "gif", "gif",__classid(TGIFImage));
delete Picture;
}
тоже результата не дало.
Может я версию не ту скачал или что то не до конца подключил? Но установилась нормально без ошибок.
P.S. Скачал версию 2.2
Заранее спасибо.
У компоненты TImage у свойства Picture появилась новая маска *.gif, но когда я пытаюсь выбрать GIF файл (анимационный) у меня весь Builder намертво зависает... раз за разом... но когда выбираю не анимационный GIF файл все нормально.
Компоненту скачал по этой вот ссылке:
http://www.torry.net/quicksearchd.php?Stri...e&Title=Yes
вычитал что надо зарегестрировать еще формат GIF:
: TForm(Owner)
{
// регистрируем .gif
TPicture *Picture = new TPicture();
Picture->RegisterFileFormat(__classid(TGIFImage), "gif", "gif",__classid(TGIFImage));
delete Picture;
}
тоже результата не дало.
Может я версию не ту скачал или что то не до конца подключил? Но установилась нормально без ошибок.
P.S. Скачал версию 2.2
Заранее спасибо.
У меня тоже версия 2.2.
Откуда качал не помню.
Ничо регистрировать не надо!!
Смотри во вложении Sample.
Как выполнить чтение только одной строки (веделенной) из ValueListEditor?
Что-то наподобие вот этого кода для ListBox.
LabelSelectTovar->Caption=LBTovar->Items->operator [](LBTovar->ItemIndex);
Или, кстати, можно взять только номер (значение первого поля). То, что содержится до знака "=".
Подскажите, плиз. Заранее благодарен. Жду ответов.
Как сделать, чтобы при при помещении компонента добавлялась строка #include <МОЙ_ПАКЕТ.hpp>, в котором просто перечислены все .h моих компонентов?
Пример - для компонентов ADO в файл формы добавляется строка #include <ADODB.hpp>.
Для C++Builder 6.
ottofoyar<кошка>yandex<точка>ru
поищи по форуму... где-то я уже такое встречал... Можно использовать... но есть нюансы...
в этой ветке FAQ есть, неужели так трудно заглянуть? или поиском воспользоваться...
http://forum.codenet.ru/showthread.php?t=26390#post124385
Сам компонент, который надо установить (Comm.cpp) появится
в закладке Samples.
Остальное проект с примером. Удачи.
TaeRichEdit
Всё работает замечательно, только матерится если ни один принтер
не установлен.
Есть исходники компонента.
Может кто возьмётся ?
Вот ссылка на архив (600кб):
http://city.is74.ru/forum/attachment.php?attachmentid=236899&d=1193930807
Вот список "проскиненных" контролов:
RichEdit1=TSkinScrollbar
=TWScrollbar
=TWScrollbar
Panel1=TSkinBox
write_btn=TSkinBitButton
Setup_gb=TSkinGroupBox
data_edt=TSkinEdit
open_btn=TSkinButton
com_cb=TSkinComBox
baud_cb=TSkinComBox
boot_edt=TSkinEdit
btopen_btn=TSkinButton
read_pan=TSkinBox
Rdfls_size_edt=TSkinEdit
Rdfls_addr_edt=TSkinEdit
rdall_rb=TSkinRadioButton
rdsel_rb=TSkinRadioButton
jm6226_btn=TSkinBitButton
read_btn=TSkinBitButton
fmt_btn=TSkinBitButton
info_btn=TSkinBitButton
gj_btn=TSkinBitButton
gj_gb=TSkinGroupBox
nor_format_btn=TSkinBitButton
start_edt=TSkinEdit
leng_edt=TSkinEdit
nfb_format_btn=TSkinBitButton
nand_ckb=TSkinCheckBox
rw_speed_chk=TSkinCheckBox
mt6226_cb=TSkinComBox
jm_saveas_chk=TSkinCheckBox
imei_edt=TSkinEdit
ChangeImei_btn=TSkinButton
unflash_cb=TSkinComBox
Гугл не помогает ... обращаюсь к помощи на форуме...