без всякого сервера. просто, чтобы можно было сохранять и извлекать русский текст в таблицу. например, в таблицу фокс про. компоненты стандартные
» FAQ по Borland C++ Builder
В нужном тебе драйвере в BDE установить необходимо в LANGDRIVER русскую кодировку (какую именно - зависит от типа базы которую ты грузить). Кстати, в дизигнере все равно карябица будет...
как выделить цветом или перевести курсор и выделить текст select в Memo ?
Цитата:
как выделить цветом
В Memo - никак.
Цитата:
или перевести курсор и выделить текст select в Memo ?
SelStart, SelLength.
у меня два вопроса:
1. как сохранить шрифт, используемый в программе, чтобы он так же отображался на других машинах
2. как сделать чтобы прога не отображалась на панели задач, а была либо на панеле где часы (забыл как эта херь называется), или вообще нигде
1. как сохранить шрифт, используемый в программе, чтобы он так же отображался на других машинах
2. как сделать чтобы прога не отображалась на панели задач, а была либо на панеле где часы (забыл как эта херь называется), или вообще нигде
У меня есть очень глупый вопрос по-поводу эдитора в борланде.
как его заставить показывать номер строки напротив самих строк. Я знаю что номер строки, соответствующей положению курсора показвывается внизу, мне надо что бы это показывалось на против соответствующей строки, это мелочь - но мне она очень нада.
как его заставить показывать номер строки напротив самих строк. Я знаю что номер строки, соответствующей положению курсора показвывается внизу, мне надо что бы это показывалось на против соответствующей строки, это мелочь - но мне она очень нада.
spike
10:36 25-05-2005
Цитата:
Если есть возможность, используй TRichEdit и сообщение EM_SETCHARFORMAT.
10:36 25-05-2005
Цитата:
как выделить цветом или перевести курсор и выделить текст select в Memo ?
Если есть возможность, используй TRichEdit и сообщение EM_SETCHARFORMAT.
modulo
Цитата:
По первому. Реализовать сохранение настроек программы в ини файл, и при переносе программы переносить и его, если же надо сохранение натсроек шрифта во время разработки, то при переносе он и так сохранится.
По второму. Либо самому разобраться с работай Shell_NotifyIcon, либо поставить RxLib и воспользоваться из него компонентой RxTrayIcon (вроде так называется) либо скачать любой компонент для работы с треем, ключевое слово Tray (кстати еще в Билдер 3 был пример работы с треем).
Цитата:
1. как сохранить шрифт, используемый в программе, чтобы он так же отображался на других машинах
2. как сделать чтобы прога не отображалась на панели задач, а была либо на панеле где часы (забыл как эта херь называется), или вообще нигде
По первому. Реализовать сохранение настроек программы в ини файл, и при переносе программы переносить и его, если же надо сохранение натсроек шрифта во время разработки, то при переносе он и так сохранится.
По второму. Либо самому разобраться с работай Shell_NotifyIcon, либо поставить RxLib и воспользоваться из него компонентой RxTrayIcon (вроде так называется) либо скачать любой компонент для работы с треем, ключевое слово Tray (кстати еще в Билдер 3 был пример работы с треем).
ShIvADeSt
да настройки-то шрифта остаются, но у другого юзера нет этого шрифта, можно его как-нибудь засейвить в самой программе?
да настройки-то шрифта остаются, но у другого юзера нет этого шрифта, можно его как-нибудь засейвить в самой программе?
modulo
возьми его с своей системы и оставь в папке с проектов. Винда должна найти. Если нет, то прийдётся делать установку шрифта. Засейвить в проге? можна, в ресурси добавить, но доставать оттуда всёравно ручками прийдётся
возьми его с своей системы и оставь в папке с проектов. Винда должна найти. Если нет, то прийдётся делать установку шрифта. Засейвить в проге? можна, в ресурси добавить, но доставать оттуда всёравно ручками прийдётся
Hi all! у меня несколько ламерских (скорее всего) вопросов.
1. Можно ли как в момент брейка посмотреть значния объявленых мной переменных!? (смотрел в настр-дубугинг-переменные, но там что-то не то пишется...)
2. В программе есть вызов "ShowMessage" (что бы не рисовать свои формы) - можно ли как сказать системе что бы она показывала их не по центру экрана, а по центру родительской формы!?
3. Можно как изменить цвет определённой ячейки (цвет фона) в компоненте TStringGrid!? (ну или хотя бы выделить их не группой, а одиночные в разных участках - дя подсветки неправильных ответов)
заранее спасибо за ответы.
1. Можно ли как в момент брейка посмотреть значния объявленых мной переменных!? (смотрел в настр-дубугинг-переменные, но там что-то не то пишется...)
2. В программе есть вызов "ShowMessage" (что бы не рисовать свои формы) - можно ли как сказать системе что бы она показывала их не по центру экрана, а по центру родительской формы!?
3. Можно как изменить цвет определённой ячейки (цвет фона) в компоненте TStringGrid!? (ну или хотя бы выделить их не группой, а одиночные в разных участках - дя подсветки неправильных ответов)
заранее спасибо за ответы.
greenfox
Цитата:
Можно, если не отключена отладочная информация. Поищи в настройках проекта
Цитата:
есть MessageDlgPos. Там и возможностей побольше, и позицию задать можно. По центру? - прийдётся ручками координати сосчитать.
Цитата:
Можно. Надо только написать обработчик DrawCell (Кажеться так он называется) Среда к тебе будет обращаться, когда её нужно клеточку отрисовать, а твой обработчик анализируя данные (номер строки столбца передаётся) решаеш что делать. Например добавив строку вида
if (Col==3) StringGrid1->Canvas->Pen->Color = clRed; else StringGrid1->Canvas->Pen->Color = clBlack;
Получиш текст красным шрифтом в третей колонке. (не пробуй строку вставлять напрямую и ругать меня что не работает - я на С каждый день не пишу, возможны маленькие описки. Но идея верная)
Цитата:
1. Можно ли как в момент брейка посмотреть значния объявленых мной переменных!? (смотрел в настр-дубугинг-переменные, но там что-то не то пишется...)
Можно, если не отключена отладочная информация. Поищи в настройках проекта
Цитата:
. В программе есть вызов "ShowMessage" (что бы не рисовать свои формы) - можно ли как сказать системе что бы она показывала их не по центру экрана, а по центру родительской формы!?
есть MessageDlgPos. Там и возможностей побольше, и позицию задать можно. По центру? - прийдётся ручками координати сосчитать.
Цитата:
Можно как изменить цвет определённой ячейки (цвет фона) в компоненте TStringGrid!? (ну или хотя бы выделить их не группой, а одиночные в разных участках - дя подсветки неправильных ответов)
Можно. Надо только написать обработчик DrawCell (Кажеться так он называется) Среда к тебе будет обращаться, когда её нужно клеточку отрисовать, а твой обработчик анализируя данные (номер строки столбца передаётся) решаеш что делать. Например добавив строку вида
if (Col==3) StringGrid1->Canvas->Pen->Color = clRed; else StringGrid1->Canvas->Pen->Color = clBlack;
Получиш текст красным шрифтом в третей колонке. (не пробуй строку вставлять напрямую и ругать меня что не работает - я на С каждый день не пишу, возможны маленькие описки. Но идея верная)
OdesitVadim
спасибо за помощь, сегодня обязательно гляну.
У меня ещё вопрос, а есть какой тип данных (по мимо char и string там) где бы цифры 1 и 01 различались!? Или только как строки обрабатывать что бы не потерять 0!?
спасибо за помощь, сегодня обязательно гляну.
У меня ещё вопрос, а есть какой тип данных (по мимо char и string там) где бы цифры 1 и 01 различались!? Или только как строки обрабатывать что бы не потерять 0!?
greenfox
Цитата:
только строки или массивы символов.
Правда можно сделать структуру, в которой записывать сколько нулей добавить, но как хочеш.
Цитата:
01- это не цифра, это число
только строки или массивы символов.
Правда можно сделать структуру, в которой записывать сколько нулей добавить, но как хочеш.
OdesitVadim
Цитата:
Мне собственно надо только из TStringGrid сравнить 2 ячейки для этого... пытался обычным методом
Код: strcmp(StringGridErr->Cells[i-1][1], StringGridErr->Cells[i-1][2])
Цитата:
- это не цифра, это числонет ну понятно, просто написал так... Ясно... бум сравнивать строки...
только строки или массивы символов.
Мне собственно надо только из TStringGrid сравнить 2 ячейки для этого... пытался обычным методом
Код: strcmp(StringGridErr->Cells[i-1][1], StringGridErr->Cells[i-1][2])
greenfox
c_str() как раз и приводит AnsiString к char* - принятое в С представление строк с '\0' на конце.
c_str() как раз и приводит AnsiString к char* - принятое в С представление строк с '\0' на конце.
EZH
понял, спасибо.
понял, спасибо.
как вырубить подсчет Warnings при компиляции?
проблема такова, что я доделываю один очень крупный проект, в котором предыдущие прогеры не задумывались о таких вещах, как Warnings, мне же этим заниматься тоже не в кайф, работает типа и ладно но таким вот образом существует в проге больше 4000 этих самых варнингов, при этом основные временные затраты Билдера уходят именно на подсчет варнингов...
проблема такова, что я доделываю один очень крупный проект, в котором предыдущие прогеры не задумывались о таких вещах, как Warnings, мне же этим заниматься тоже не в кайф, работает типа и ладно но таким вот образом существует в проге больше 4000 этих самых варнингов, при этом основные временные затраты Билдера уходят именно на подсчет варнингов...
ad1981
Каждый варнинг - потенциальная ошибка
Тем более в С. Лучше просмотреть.
А скрывается от глаз просто.
Project - > Options -> вкладка Compiler Mesage.
А там их целый список. Снимаеш галочки напротив тех, которые те глаза музолят.
Также там есть одна галочка, которая снимает все Warnings вместе.
Я обычно пытаюся убрать их. Один раз даже ошибку в алгоритме нашёл
Каждый варнинг - потенциальная ошибка
Тем более в С. Лучше просмотреть.
А скрывается от глаз просто.
Project - > Options -> вкладка Compiler Mesage.
А там их целый список. Снимаеш галочки напротив тех, которые те глаза музолят.
Также там есть одна галочка, которая снимает все Warnings вместе.
Я обычно пытаюся убрать их. Один раз даже ошибку в алгоритме нашёл
OdesitVadim
ну во первых вкладки Compiler Message близко не наблюдается... есть вкладка Compiler с панелькой Warnings, выставление значение None на которой ни к чему не приводит...
ну во первых вкладки Compiler Message близко не наблюдается... есть вкладка Compiler с панелькой Warnings, выставление значение None на которой ни к чему не приводит...
OdesitVadim
Цитата:
Ещё хотел спросить:
1. В паблике формы объявляется переменная
Код: public:
int i = 1;
Цитата:
if (Col==3) StringGrid1->Canvas->Pen->Color = clRed; else StringGrid1->Canvas->Pen->Color = clBlack;посмотрел я этот вариант - к сожалению для типа TStringGrig такое похоже не прокатит Я у него не нашёл таких свойств... это у DrawGrid есть такое...
Ещё хотел спросить:
1. В паблике формы объявляется переменная
Код: public:
int i = 1;
Цитата:
public:
int i = 1;
В классе нельзя инициализировать переменные, ипользуй инициалицию в конструкторе.
greenfox
Canvas у TStringGrid есть, т.к. она наследник TCustomControl
2. Форма позиционируется только при создании. Твоя дочерняя форма видимо создается один раз, автоматически при запуске приложения. Создавай её динамически.
Canvas у TStringGrid есть, т.к. она наследник TCustomControl
2. Форма позиционируется только при создании. Твоя дочерняя форма видимо создается один раз, автоматически при запуске приложения. Создавай её динамически.
greenfox
Цитата:
Смотри событие OnDrawCell. Сам точно знаю, что будет работать, делал не один раз.
Попробуй (Sender as TDrawGrid) и далее с ним работать. Хотя и напрямую должно работать.
Цитата:
посмотрел я этот вариант - к сожалению для типа TStringGrig такое похоже не прокатит Я у него не нашёл таких свойств... это у DrawGrid есть такое...
Смотри событие OnDrawCell. Сам точно знаю, что будет работать, делал не один раз.
Попробуй (Sender as TDrawGrid) и далее с ним работать. Хотя и напрямую должно работать.
dan2k5
Цитата:
EZH
Цитата:
ShIvADeSt
Цитата:
Цитата:
В классе нельзя инициализировать переменные, ипользуй инициалицию в конструкторе.да, странно... я вроде как читал в учебнике дпо С++ что можно... наверно что-то попутал...
EZH
Цитата:
2. Форма позиционируется только при создании. Твоя дочерняя форма видимо создается один раз, автоматически при запуске приложения. Создавай её динамически.прошу прощения за ламерсикй вопрос - а это как? Насколько я понимаю методом close() она только закрывается, а создаётся при создании всегоприложения (ну по умолчанию, вызываю я её show())!? Впринципе я конечно могу вызывать show() а потом просто мнять координаты окна в зависимости от того где родительская форма расположена - но может можно как попроще...
ShIvADeSt
Цитата:
Смотри событие OnDrawCell. Сам точно знаю, что будет работать, делал не один раз.да я туда в общем то и пихал {StringGrid1->Canvas->Pen->Color = clRed} но что-то всё равно цвет не менялся... Пороюсь конечно ещё в справке на TCustomControl - может что откопаю...
greenfox
Значит она у тебя точно создается автоматически. Залезь в свойства проекта - там есть два списка форм - имеющиеся и автоматически создаваемые. Убери нужную форму из автоматических.
Потом в коде главной формы пиши примерно по такому образцу:
Код:
TFrmAbout *frmAbout = new TFrmAbout(this);
try
{
if (frmAbout->ShowModal()==mrOk)
{
// ...
}
}
__finally { delete frmAbout; }
Значит она у тебя точно создается автоматически. Залезь в свойства проекта - там есть два списка форм - имеющиеся и автоматически создаваемые. Убери нужную форму из автоматических.
Потом в коде главной формы пиши примерно по такому образцу:
Код:
TFrmAbout *frmAbout = new TFrmAbout(this);
try
{
if (frmAbout->ShowModal()==mrOk)
{
// ...
}
}
__finally { delete frmAbout; }
EZH
суть метода ясна, но проблема в том, что при уничтожении\создании формы все переключатели на ней автоматом будут установлены в дефолтовое положение (наск я понял) - а у меня программа оттуда некоторые значения берёт (наверно неоптимально\направильно - но вот так вот я накодил ) Так что наверно мне будет проще show() а потом координаты окна править ...
+ ещё вопрос по том методу что ты описал - а если мне надо после нажатия кнопки ОК сначало считать данные с формы а потом её закрыть - это как будет выглядеть!?
суть метода ясна, но проблема в том, что при уничтожении\создании формы все переключатели на ней автоматом будут установлены в дефолтовое положение (наск я понял) - а у меня программа оттуда некоторые значения берёт (наверно неоптимально\направильно - но вот так вот я накодил ) Так что наверно мне будет проще show() а потом координаты окна править ...
+ ещё вопрос по том методу что ты описал - а если мне надо после нажатия кнопки ОК сначало считать данные с формы а потом её закрыть - это как будет выглядеть!?
greenfox
Так ты и должен всё считать внути if (...), притом только если нажали OK, а форма удаляется только аж при delete frmAbout, до этого она доступна со всеми своими методами и свойствами.
По поводу считывания с формы - я ж тебе об этом и пишу. Хорошим стилем программирования считается хранить все данные отдельно от представления. Т.е. ты должен создавать свои какие-то структуры/классы, где и будешь хранить все рабочие данные. Перед вызовом формы надо устанавливать все её контролы из этих структур в нужное состояние, затем ShowModal, если юзер нажал OK, тогда считываешь инфу обратно в рабочую структуру, иначе ничего не считываешь.
По началу может показаться заморочено, но на самом деле надо себя приучить к такому и в проектах всё будет четко и понятно, не будет бардака.
Так ты и должен всё считать внути if (...), притом только если нажали OK, а форма удаляется только аж при delete frmAbout, до этого она доступна со всеми своими методами и свойствами.
По поводу считывания с формы - я ж тебе об этом и пишу. Хорошим стилем программирования считается хранить все данные отдельно от представления. Т.е. ты должен создавать свои какие-то структуры/классы, где и будешь хранить все рабочие данные. Перед вызовом формы надо устанавливать все её контролы из этих структур в нужное состояние, затем ShowModal, если юзер нажал OK, тогда считываешь инфу обратно в рабочую структуру, иначе ничего не считываешь.
По началу может показаться заморочено, но на самом деле надо себя приучить к такому и в проектах всё будет четко и понятно, не будет бардака.
EZH
что то лыжи не едут
в главной форме пишу
Код:
TFormPrimers *FormPrimers = new TFormPrimers(this);
try {FormPrimers->ShowModal();}
__finally { delete FormPrimers;}
что то лыжи не едут
в главной форме пишу
Код:
TFormPrimers *FormPrimers = new TFormPrimers(this);
try {FormPrimers->ShowModal();}
__finally { delete FormPrimers;}
greenfox
Не надо Close, пиши просто ModalResult = mrOk или у кнопки такое свойство выставь.
Добавлено:
Ошибки в след раз цитируй.
Не надо Close, пиши просто ModalResult = mrOk или у кнопки такое свойство выставь.
Добавлено:
Ошибки в след раз цитируй.
Страницы: 12345678910111213141516171819202122232425262728
Предыдущая тема: ms exchange
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.