(Часть 2) Я начинающий, подскажите пожалуйста как...
Прежде чем задать вопрос здесь, вы обязаны использовать
- Поиск по форуму, используя ключевые слова из вашего вопроса. Как правильно использовать поиск - читайте здесь
- Список наиболее часто задаваемых вопросов (FAQ)
- Поиск по предыдущей теме
Кроме того, прежде чем размещать сообщение, ознакомьтесь с правилами.
При размещении вопросов начинающих помимо указанной темы, будет выдаваться нарушение, а тема удаляться.
Пробовал ProcessMessages() - толку нет...
Обработка INI-файла находится в таймере... как ты и написал - через 200 мс после содания формы...
Сделал так:
delete ini;
Application->HandleMessage();
Application->ProcessMessages();
Все стало нормально обрабатываться - спасибо ;)
PS: ну просто капец какой-то :))
Пишу программу, в которой будет текст набиратся в Memo и копироватся в StringGrid, 1 буква в одну клеточку.
{
Form2->StringGrid1->ColCount = bukv1;
Form2->StringGrid1->RowCount = strok+1;
Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings[j];
}
Вопрос: Как сделать что бы текст из поля Memo копировалось в StringGrid по 2 буквы в клеточку.
Пробывал писать
не получается, полазил по форумам ни чего не нашел, пробывал каждую букву присвайвать переменной char и потом их прлюсовать ни чего не получалось.
Помоги люди кто может, я уже все свой догадки исчерпал что можно сделать.
Пишу программу, в которой будет текст набиратся в Memo и копироватся в StringGrid, 1 буква в одну клеточку.
{
Form2->StringGrid1->ColCount = bukv1;
Form2->StringGrid1->RowCount = strok+1;
Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings[j];
}
Вопрос: Как сделать что бы текст из поля Memo копировалось в StringGrid по 2 буквы в клеточку.
Пробывал писать
не получается, полазил по форумам ни чего не нашел, пробывал каждую букву присвайвать переменной char и потом их прлюсовать ни чего не получалось.
Помоги люди кто может, я уже все свой догадки исчерпал что можно сделать.
Используй
Form1->text_vvod->Lines->Strings.SubString(a, 2), где a - 1, 3, 5, 7, 9...
Т.е. загони это в цикл a = 1; a < ...Length(). a+=2;
Form1->text_vvod->Lines->Strings.SubString(a, 2), где a - 1, 3, 5, 7, 9...
Т.е. загони это в цикл a = 1; a < ...Length(). a+=2;
Попробывал написать так:
{
Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings.SubString(a,2);
}
Получается такая хрень что в одну строчку пишет только первую букву, во вторую строчку пишет 2 следующие буквы и так далее.
Моя задумка в клетке 1:1 пишет 2 буквы в клетке 1:2 пишет след. 2 буквы и так далее пока на закончится строчка.
{
Form2->StringGrid1->Cells [j-1] = Form1->text_vvod->Lines->Strings.SubString(a,2);
}
Получается такая хрень что в одну строчку пишет только первую букву, во вторую строчку пишет 2 следующие буквы и так далее.
Моя задумка в клетке 1:1 пишет 2 буквы в клетке 1:2 пишет след. 2 буквы и так далее пока на закончится строчка.
Вот код - должен работать...
{
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);
}
}
{
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);
}
}
Спасибо добрый человек, в мой глазах ты мегакодер.
Не перевелись на земле русской добрые люди!
Его содержание:
---------------------------
Строка
Русский
STRINGTABLE
LANGUAGE 25, 1
{
100, "Строка 100"
101, "Строка 101"
102, "Строка 102"
}
Английский (США)
STRINGTABLE
LANGUAGE 9, 1
{
100, "String 100"
101, "String 101"
102, "String 102"
}
---------------------------
Как использовать строки из разных языков?
В функции LoadString(...) я не нашел, где указать идентификатор языка...
__BEGIN_DECLS
Что это? Это нигде не объявляется. Выше включен один файл: features.h, в котором нет ничего с таким именем, и единственное включение в этом файле, это:gnu/stubs-32.h, в котором тоже ничего подобного нет. :(
Как использовать строки из разных языков?
В функции LoadString(...) я не нашел, где указать идентификатор языка...
Используется идентификатор языка текущего потока.
Есть пару вопросов , на которые ответов в интернете я не смог найти.
1
Жмем на button1 и происходит следущее:
Копирование папки (Новая папка) с содержащимися в ней файлами из c:\Новая папка в d:\123\Новая папка
КАК ЭТО РЕАЛИЗОВАТЬ?
2
Жмем на button2 и происходит следущее:
Копирование файлов из папки C:\Новая папка в d:\
КАК ЭТО РЕАЛИЗОВАТЬ?
3
Жмем на button3 и происходит следущее:
Установка шрифтов для windows из папки c:\Fonts
КАК ЭТО РЕАЛИЗОВАТЬ?
Заранее спасибо.
Не совсем понятно для меня , поподробнее можно?
Есть спец тема
Есть пару вопросов , на которые ответов в интернете я не смог найти.
Хреново искал
1
Жмем на button1 и происходит следущее:
Копирование папки (Новая папка) с содержащимися в ней файлами из c:\Новая папка в d:\123\Новая папка
КАК ЭТО РЕАЛИЗОВАТЬ?
2
Жмем на button2 и происходит следущее:
Копирование файлов из папки C:\Новая папка в d:\
КАК ЭТО РЕАЛИЗОВАТЬ?
Есть волшебная кнопка F1 нажимаешь ее и в контекстный поиск вводишь что тебе предложили, поиск выдает тебе много полезной информации
Спасибо , а как быть с установкой шрифтов из папки?
Еще придется вызвать CreateScalableFontResource (для True/OpenType шрифтов), AddFontResource или AddFontResourceEx, SendMessage для оповещения всех приложений о изменении таблицы шрифтов
http://img293.imageshack.us/my.php?image=28238124gt1.jpg
кидаешь на форму 2 панели, у одной Allign = alLeft, у другой Allign = alClient
Так получается вертикально а мне нужно горизонтально :(
Ну тогда alTop и alClient.
По перемитру панелей остается "окантовочка" в 3-4 пикселя где то :( .Может как то свойства формы можно пдкрутитть что б этого небыло?
Советую экспериментировать со свойствами Bevel*. Я поставил значения BevelInner и BevelOuter в bvNone, BevelKind во Flat. Вроде фаски не увидел.
TCustomRichEdit::SelAttributes
Borland Developer Studio 2006.
Большое спасибо заранее.
с кейгеном!
Ну а человек, первое сообщение которого сразу же грубо нарушает правила форума - тожде получает бан заслужено.
Всех остальных - с праздником Преображения Господня.
Помните и соблюдайте заповедь 11 - "Не флейми в специализированных темах! Пользуйся кнопкой - Пожаловатся модератору" :)
создай текстовый файл (resource.txt например) переименуй в resource.rc, добавь к проекту и усе:)
ЗЫ: BCB5 и 6, точно "не умеет" создавать файлы описания ресурсов. И в BDS не добавили эту возможность?
Пробовал ставить в цикле потока критическую секцию и делать в ней
Edit3->Show();
Прбовал и так
ShowWindow(Edit3->Handle,SW_SHOW);
Но что в первом что во 2м случае вылетало eacess violation :( Как правильно сделать?
Пробовал ставить в цикле потока критическую секцию и делать в ней
Edit3->Show();
ShowWindow(Edit3->Handle,SW_SHOW);
а просто так не катит:
без всяких Edit3->Show(); и ShowWindow(Edit3->Handle,SW_SHOW);
Приглядись к методу TThread.Syncronize (VCL не до конца поддерживает многопоточность)
так передавай в поток Edit3 и управляй там же свойствами
Можно попробовать из потока вызвать функцию, принадлежащую к Form1, например:
{
Edit3->Text = i;
}
И вызывать из потока
PS: хотя... если у тебя цикл немалый, и, скажем, переменная обновляется быстро (часто), то тут сложнее и придется действительно с критическими секциями поработать, т.к. одно дело - переменная, а другое дело - контрол на форме...
{
Edit3->Text = i;
}
И вызывать из потока
PS: хотя... если у тебя цикл немалый, и, скажем, переменная обновляется быстро (часто), то тут сложнее и придется действительно с критическими секциями поработать, т.к. одно дело - переменная, а другое дело - контрол на форме...
Хм ничего непонимаю вставляю эту ф-цию после строчки TForm1 *Form1; А компилятор мне ругается на эту ф-цию Type name expected :confused: