Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Часть 2) Я начинающий, подскажите пожалуйста как...

1
15 декабря 2007 года
kot_
7.3K / / 20.01.2000
Данная тема предназначена для размещения вопросов начинающих программистов.
Прежде чем задать вопрос здесь, вы обязаны использовать
  1. Поиск по форуму, используя ключевые слова из вашего вопроса. Как правильно использовать поиск - читайте здесь
  2. Список наиболее часто задаваемых вопросов (FAQ)
  3. Поиск по предыдущей теме
Учитывайте пожалуйста, что вопрос который лично вам кажется сложным, в большинстве случаев на форуме рассмотрен достаточно подробно. Не соблюдение этих правил, приведет к тому, что ваше сообщение будет удалено, а вы получите нарушение.
Кроме того, прежде чем размещать сообщение, ознакомьтесь с правилами.
При размещении вопросов начинающих помимо указанной темы, будет выдаваться нарушение, а тема удаляться.
Страницы:
479
04 июля 2008 года
Ухух
142 / / 05.05.2006
Можно попробовать перед выдачей сообщения вызвать Application->HandleMessage() и ProcessMessage(). Работают по разному. Надо поподбирать по результату. Но я в прмерно подобном случае вытащил сообщения из обработчика события (это ведь наверное FormCreate ?)и запускал таймер с выдержкой 200 мс . Он у меня работал один раз при входе в программу и в нем у меня были обработчики вывода в контролы прочитанных из инишки параметров, а то тоже какая-то фигня была.
490
04 июля 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: Ухух
Можно попробовать перед выдачей сообщения вызвать Application->HandleMessage() и ProcessMessage(). Работают по разному. Надо поподбирать по результату. Но я в прмерно подобном случае вытащил сообщения из обработчика события (это ведь наверное FormCreate ?)и запускал таймер с выдержкой 200 мс . Он у меня работал один раз при входе в программу и в нем у меня были обработчики вывода в контролы прочитанных из инишки параметров, а то тоже какая-то фигня была.



Пробовал ProcessMessages() - толку нет...

Обработка INI-файла находится в таймере... как ты и написал - через 200 мс после содания формы...

Сделал так:

 
Код:
<...>
  delete ini;
  Application->HandleMessage();
  Application->ProcessMessages();

Все стало нормально обрабатываться - спасибо ;)

PS: ну просто капец какой-то :))
41K
16 июля 2008 года
Пушистик
4 / / 16.07.2008
Доброе время суток, помогите начинающему кодеру.

Пишу программу, в которой будет текст набиратся в Memo и копироватся в StringGrid, 1 буква в одну клеточку.
 
Код:
for (int j=1; j<bukv1+1; j++)
           {
              Form2->StringGrid1->ColCount = bukv1;
              Form2->StringGrid1->RowCount = strok+1;
              Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings[j];

           }

Вопрос: Как сделать что бы текст из поля Memo копировалось в StringGrid по 2 буквы в клеточку.

Пробывал писать

 
Код:
StringGrid = Form1->text_vvod->Lines->Strings[j] + Form1->text_vvod->Lines->Strings[j+1]


не получается, полазил по форумам ни чего не нашел, пробывал каждую букву присвайвать переменной char и потом их прлюсовать ни чего не получалось.

Помоги люди кто может, я уже все свой догадки исчерпал что можно сделать.
490
17 июля 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: Пушистик
Доброе время суток, помогите начинающему кодеру.

Пишу программу, в которой будет текст набиратся в Memo и копироватся в StringGrid, 1 буква в одну клеточку.
 
Код:
for (int j=1; j<bukv1+1; j++)
           {
              Form2->StringGrid1->ColCount = bukv1;
              Form2->StringGrid1->RowCount = strok+1;
              Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings[j];

           }

Вопрос: Как сделать что бы текст из поля Memo копировалось в StringGrid по 2 буквы в клеточку.

Пробывал писать

 
Код:
StringGrid = Form1->text_vvod->Lines->Strings[j] + Form1->text_vvod->Lines->Strings[j+1]


не получается, полазил по форумам ни чего не нашел, пробывал каждую букву присвайвать переменной char и потом их прлюсовать ни чего не получалось.

Помоги люди кто может, я уже все свой догадки исчерпал что можно сделать.



Используй
Form1->text_vvod->Lines->Strings.SubString(a, 2), где a - 1, 3, 5, 7, 9...

Т.е. загони это в цикл a = 1; a < ...Length(). a+=2;

41K
17 июля 2008 года
Пушистик
4 / / 16.07.2008
Цитата: frid-karatel
Используй
Form1->text_vvod->Lines->Strings.SubString(a, 2), где a - 1, 3, 5, 7, 9...

Т.е. загони это в цикл a = 1; a < ...Length(). a+=2;



Попробывал написать так:

 
Код:
for (int a=1; a<bukv1+1; a+=2)
               {
                 Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings.SubString(a,2);
               }


Получается такая хрень что в одну строчку пишет только первую букву, во вторую строчку пишет 2 следующие буквы и так далее.

Моя задумка в клетке 1:1 пишет 2 буквы в клетке 1:2 пишет след. 2 буквы и так далее пока на закончится строчка.
490
17 июля 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: Пушистик
Попробывал написать так:
 
Код:
for (int a=1; a<bukv1+1; a+=2)
               {
                 Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings.SubString(a,2);
               }


Получается такая хрень что в одну строчку пишет только первую букву, во вторую строчку пишет 2 следующие буквы и так далее.

Моя задумка в клетке 1:1 пишет 2 буквы в клетке 1:2 пишет след. 2 буквы и так далее пока на закончится строчка.



Вот код - должен работать...

 
Код:
for (int x = 0; x < Form1->text_vvod->Lines->Count; x++)
{
  for (int y = 0; y < Form1->text_vvod->Lines->Strings[x].Length() / 2; y++)
  {
    Form2->StringGrid1->Cells[x][y] = Form1->text_vvod->Lines->Strings[x].SubString(y * 2 + 1, 2);
  }
}
41K
17 июля 2008 года
Пушистик
4 / / 16.07.2008
Цитата: frid-karatel
Вот код - должен работать...
 
Код:
for (int x = 0; x < Form1->text_vvod->Lines->Count; x++)
{
  for (int y = 0; y < Form1->text_vvod->Lines->Strings[x].Length() / 2; y++)
  {
    Form2->StringGrid1->Cells[x][y] = Form1->text_vvod->Lines->Strings[x].SubString(y * 2 + 1, 2);
  }
}



Спасибо добрый человек, в мой глазах ты мегакодер.

Не перевелись на земле русской добрые люди!

41K
17 июля 2008 года
Пушистик
4 / / 16.07.2008
Все победил, отладил весь алгоритм работает как положенно
490
23 июля 2008 года
frid-karatel
357 / / 15.09.2007
Вот есть файл Strings.res

Его содержание:
---------------------------
Строка
Русский
STRINGTABLE
LANGUAGE 25, 1
{
100, "Строка 100"
101, "Строка 101"
102, "Строка 102"
}
Английский (США)
STRINGTABLE
LANGUAGE 9, 1
{
100, "String 100"
101, "String 101"
102, "String 102"
}
---------------------------

Как использовать строки из разных языков?

В функции LoadString(...) я не нашел, где указать идентификатор языка...
41K
24 июля 2008 года
DrHyder
1 / / 24.07.2008
В stdio.h есть строчка:
__BEGIN_DECLS
Что это? Это нигде не объявляется. Выше включен один файл: features.h, в котором нет ничего с таким именем, и единственное включение в этом файле, это:gnu/stubs-32.h, в котором тоже ничего подобного нет. :(
14
25 июля 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: frid-karatel

Как использовать строки из разных языков?
В функции LoadString(...) я не нашел, где указать идентификатор языка...



Используется идентификатор языка текущего потока.

41K
01 августа 2008 года
djti
3 / / 01.08.2008
Здравствуйте, я начинающий.
Есть пару вопросов , на которые ответов в интернете я не смог найти.

1
Жмем на button1 и происходит следущее:
Копирование папки (Новая папка) с содержащимися в ней файлами из c:\Новая папка в d:\123\Новая папка

КАК ЭТО РЕАЛИЗОВАТЬ?


2
Жмем на button2 и происходит следущее:
Копирование файлов из папки C:\Новая папка в d:\

КАК ЭТО РЕАЛИЗОВАТЬ?

3
Жмем на button3 и происходит следущее:
Установка шрифтов для windows из папки c:\Fonts

КАК ЭТО РЕАЛИЗОВАТЬ?

Заранее спасибо.
288
01 августа 2008 года
nikitozz
1.2K / / 09.03.2007
CopyFile, SHFileOperation
41K
01 августа 2008 года
djti
3 / / 01.08.2008
Цитата: nikitozz
CopyFile, SHFileOperation




Не совсем понятно для меня , поподробнее можно?

11
01 августа 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: djti
Здравствуйте, я начинающий.


Есть спец тема

Цитата: djti

Есть пару вопросов , на которые ответов в интернете я не смог найти.


Хреново искал

Цитата: djti

1
Жмем на button1 и происходит следущее:
Копирование папки (Новая папка) с содержащимися в ней файлами из c:\Новая папка в d:\123\Новая папка

КАК ЭТО РЕАЛИЗОВАТЬ?


2
Жмем на button2 и происходит следущее:
Копирование файлов из папки C:\Новая папка в d:\

КАК ЭТО РЕАЛИЗОВАТЬ?


http://cbuilder.ru/index.php/topic,1801.0.html

11
01 августа 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: djti
Не совсем понятно для меня , поподробнее можно?


Есть волшебная кнопка F1 нажимаешь ее и в контекстный поиск вводишь что тебе предложили, поиск выдает тебе много полезной информации

41K
01 августа 2008 года
djti
3 / / 01.08.2008
Цитата: oxotnik333
Есть спец тема

Хреново искал

http://cbuilder.ru/index.php/topic,1801.0.html



Спасибо , а как быть с установкой шрифтов из папки?

92
01 августа 2008 года
Тень Пса
2.2K / / 19.10.2006
просто копируй их в C:\Windows\Fonts
14
01 августа 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: Тень Пса
просто копируй их в C:\Windows\Fonts



Еще придется вызвать CreateScalableFontResource (для True/OpenType шрифтов), AddFontResource или AddFontResourceEx, SendMessage для оповещения всех приложений о изменении таблицы шрифтов

841
13 августа 2008 года
_nic
199 / / 29.07.2006
У меня вот чисто эстетический вопрос.Можно ли на форме зделать разделительную линию на подобие тех которые есть в менюшках.Вообщем я имею ввиду вот это
http://img293.imageshack.us/my.php?image=28238124gt1.jpg
11
13 августа 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: _nic
У меня вот чисто эстетический вопрос.Можно ли на форме зделать разделительную линию на подобие тех которые есть в менюшках.Вообщем я имею ввиду вот это
http://img293.imageshack.us/my.php?image=28238124gt1.jpg


кидаешь на форму 2 панели, у одной Allign = alLeft, у другой Allign = alClient

278
13 августа 2008 года
Alexander92
1.1K / / 04.08.2008
Народ, а существует 32-разрядный BC++ компилятор сравнительно человеческих размеров? :) (Я имею в виду не такой здоровый, как визуалки).
841
13 августа 2008 года
_nic
199 / / 29.07.2006
Цитата: oxotnik333
кидаешь на форму 2 панели, у одной Allign = alLeft, у другой Allign = alClient



Так получается вертикально а мне нужно горизонтально :(

9.4K
14 августа 2008 года
AIGrifon
165 / / 13.11.2007
Цитата: _nic
Так получается вертикально а мне нужно горизонтально :(



Ну тогда alTop и alClient.

841
14 августа 2008 года
_nic
199 / / 29.07.2006
Цитата: AIGrifon
Ну тогда alTop и alClient.

По перемитру панелей остается "окантовочка" в 3-4 пикселя где то :( .Может как то свойства формы можно пдкрутитть что б этого небыло?

9.4K
14 августа 2008 года
AIGrifon
165 / / 13.11.2007
Цитата: _nic
По перемитру панелей остается "окантовочка" в 3-4 пикселя где то :( .Может как то свойства формы можно пдкрутитть что б этого небыло?



Советую экспериментировать со свойствами Bevel*. Я поставил значения BevelInner и BevelOuter в bvNone, BevelKind во Flat. Вроде фаски не увидел.

841
17 августа 2008 года
_nic
199 / / 29.07.2006
А как можно опредленные слова в тексте выводимом таким образом RichEdit1->Lines->Add() выделить другим жирным шрифтом?
246
17 августа 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: _nic
А как можно опредленные слова в тексте выводимом таким образом RichEdit1->Lines->Add() выделить другим жирным шрифтом?


TCustomRichEdit::SelAttributes

290
18 августа 2008 года
Patr1ot
458 / / 09.02.2008
Дайте пожалуйта ссылки где я смогу бесплатно скачать
Borland Developer Studio 2006.

Большое спасибо заранее.
39K
19 августа 2008 года
_SEREGA_
11 / / 19.08.2008
поскажите ссылку пожалуйста на ломанный c++ builder 6.0
с кейгеном!
1
19 августа 2008 года
kot_
7.3K / / 20.01.2000
Поздравим же Patr1ot с тем, к чему он так долго стремился - с баном на семь дней. Следующий этап - бан на три месяца.
Ну а человек, первое сообщение которого сразу же грубо нарушает правила форума - тожде получает бан заслужено.
Всех остальных - с праздником Преображения Господня.
Помните и соблюдайте заповедь 11 - "Не флейми в специализированных темах! Пользуйся кнопкой - Пожаловатся модератору" :)
841
20 августа 2008 года
_nic
199 / / 29.07.2006
Вот тут http://sources.ru/cpp/faqs/75.htm описанно как запхнуть в ресурс файл и работать с ним на винапи.А как такое же в Borland Developer Studio провернуть?Ведь в файлах проекта что то не видно файла с расширением .rc
246
20 августа 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: _nic
Вот тут http://sources.ru/cpp/faqs/75.htm описанно как запхнуть в ресурс файл и работать с ним на винапи.А как такое же в Borland Developer Studio провернуть?Ведь в файлах проекта что то не видно файла с расширением .rc


создай текстовый файл (resource.txt например) переименуй в resource.rc, добавь к проекту и усе:)

ЗЫ: BCB5 и 6, точно "не умеет" создавать файлы описания ресурсов. И в BDS не добавили эту возможность?

841
25 августа 2008 года
_nic
199 / / 29.07.2006
Как выводить изменение данных в глобальной переменной типа int ,которая крутится в цикле потока,на элемент(Edit) основной формы?
Пробовал ставить в цикле потока критическую секцию и делать в ней
 
Код:
Edit3->Text=AnsiString(sec);
Edit3->Show();

Прбовал и так
 
Код:
Edit3->Text=AnsiString(sec);
ShowWindow(Edit3->Handle,SW_SHOW);

Но что в первом что во 2м случае вылетало eacess violation :( Как правильно сделать?
11
25 августа 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: _nic
Как выводить изменение данных в глобальной переменной типа int ,которая крутится в цикле потока,на элемент(Edit) основной формы?
Пробовал ставить в цикле потока критическую секцию и делать в ней
 
Код:
Edit3->Text=AnsiString(sec);
Edit3->Show();
Прбовал и так
 
Код:
Edit3->Text=AnsiString(sec);
ShowWindow(Edit3->Handle,SW_SHOW);
Но что в первом что во 2м случае вылетало eacess violation :( Как правильно сделать?



а просто так не катит:

 
Код:
Edit3->Text = sec;

без всяких Edit3->Show(); и ShowWindow(Edit3->Handle,SW_SHOW);
841
25 августа 2008 года
_nic
199 / / 29.07.2006
В том то и дело что просто так Edit3->Text = sec; не катит. Из потока вообще глухо.А если после вызова _beginthread то только самую первую цифру выводит и все.
14
26 августа 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: _nic
В том то и дело что просто так Edit3->Text = sec; не катит. Из потока вообще глухо.А если после вызова _beginthread то только самую первую цифру выводит и все.



Приглядись к методу TThread.Syncronize (VCL не до конца поддерживает многопоточность)

11
26 августа 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: _nic
В том то и дело что просто так Edit3->Text = sec; не катит. Из потока вообще глухо.А если после вызова _beginthread то только самую первую цифру выводит и все.


так передавай в поток Edit3 и управляй там же свойствами

490
26 августа 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: _nic
В том то и дело что просто так Edit3->Text = sec; не катит. Из потока вообще глухо.А если после вызова _beginthread то только самую первую цифру выводит и все.



Можно попробовать из потока вызвать функцию, принадлежащую к Form1, например:

 
Код:
void __fastcall TForm1::SetIntToEdit(int i)
{
  Edit3->Text = i;
}


И вызывать из потока
 
Код:
Form1->SetIntToEdit(1000);


PS: хотя... если у тебя цикл немалый, и, скажем, переменная обновляется быстро (часто), то тут сложнее и придется действительно с критическими секциями поработать, т.к. одно дело - переменная, а другое дело - контрол на форме...
841
27 августа 2008 года
_nic
199 / / 29.07.2006
Цитата: frid-karatel
Можно попробовать из потока вызвать функцию, принадлежащую к Form1, например:
 
Код:
void __fastcall TForm1::SetIntToEdit(int i)
{
  Edit3->Text = i;
}


И вызывать из потока
 
Код:
Form1->SetIntToEdit(1000);


PS: хотя... если у тебя цикл немалый, и, скажем, переменная обновляется быстро (часто), то тут сложнее и придется действительно с критическими секциями поработать, т.к. одно дело - переменная, а другое дело - контрол на форме...


Хм ничего непонимаю вставляю эту ф-цию после строчки TForm1 *Form1; А компилятор мне ругается на эту ф-цию Type name expected :confused:

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог