Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4

Модерирует : ShIvADeSt

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...
Вот...

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 12:05 16-07-2008
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
часа полотора выяснял че после добавления TXPManifest при закрытии прога ругалась на uxtheme.dll - Eaccess violation получал каждый раз... Это aspr_ide.dll глючила - отладочная dll Asprotect'а... Как только прога запакована и работет без нее, все пучком...

Всего записей: 1729 | Зарегистр. 02-08-2003 | Отправлено: 11:28 20-07-2008
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как при запущеной программе можно перерисовать цвет если в системе к примеру сменить тему оформления? Код..

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 17:22 22-07-2008
Skipper



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Повесь на OnPaint вызов своей функции как 1 из вариантов. 2 Вариант, это отловить изменение темы оформления и вызвать функцию.

Всего записей: 961 | Зарегистр. 23-06-2002 | Отправлено: 17:43 22-07-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может стоит после каждой перерисовки вызывать InvalidateRect?

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 18:30 22-07-2008
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skipper
1 Вариант это понятно, 2 Вариант я незнаю как, уточню: как перерисовывать цвет на контролах где нет события OnPaint? в частности интересует перерисовка градиента в ToolBar.
 
Добавлено:
Также OnPaint неможет перерисовать цвет из такой функции:
uses
  GraphUtil
 
Form1.Color:=GetShadowColor(clBtnFace,-25);

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 19:18 22-07-2008
Skipper



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а .canvas не поможет? Или я ошибаюсь?

Всего записей: 961 | Зарегистр. 23-06-2002 | Отправлено: 22:35 22-07-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
Возможно вам это поможет: http://www.delphisources.ru/pages/faq/base/theme_changed.html

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 22:53 22-07-2008
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Интересный вариант но для цвета не подходит, на одну тему запаздывает.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 01:04 23-07-2008
Narrator

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто сталкивался...
 
Непонятное поведением Combobox и Listbox в одной из форм программы - пустые списки на этапе выполнения.  Причем, у формы есть как заполненные в дизайнере значения Items, так и формируемые при создании формы. Если в отладчике проследить заполнеие или сформировать Messagebox с текстом значений Items, то все нормально.  Когда же форма выводится на екран, все списки пустые.

Всего записей: 17 | Зарегистр. 09-06-2003 | Отправлено: 18:54 23-07-2008
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Скорее всего выставлен свойство Style в отличное от csDropDown. В некоторые другие свойства предназначены для ручной отрисовки списков. Если это не используется, то надо выставить правильный стиль.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 19:03 23-07-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Подскажите пожалуйста как можно удалить все знаки равно из текстового файла. При этом не удаляя всю строчку. Спасибо.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 19:48 23-07-2008
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MsdLamer
Код:
sl := TStringList.Create;
sl.LoadFromFile(filename);
for i := 0 to sl.Count - 1 do
  sl[i] := StringReplace(sl[i], '=', '', [rfReplaceAll]);
sl.SaveToFile(filename);
sl.Free;

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 08:16 24-07-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. И еще один вопрос как можно сделать если имеется текстовый файлик следующего содержания:
2         // числа могут быть обсолютно разными но 3 цифры это максимум  
22434234234234      // по любому больше 3-х цифр.  
234234234234
56565656565  
24  
09099999999999  
104  
989898989898  
777878787  
67667676767676
можно сделать так чтобы это один большой файл разбить на маленькие:  
Допустим 2.тхт содержит  
2  
22434234234234  
23423423423423  
 
24.тхт содержит  
24  
09099999999999  
и.т.д  т.е . чтобы верхний номер был названием файла. Спасибо.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 08:52 24-07-2008
Narrator

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim

Цитата:
Скорее всего выставлен свойство Style в отличное от csDropDown.

 
Нет. С этим все нормально. Тоже так подумал вначале.  Но тут даже когда новый Combobox, например, положить на форму и заполнить в дизайнере Items, всеравно чистый при выполнении. Такое впесатление, что при установке значения ItemIndex чистится.

Всего записей: 17 | Зарегистр. 09-06-2003 | Отправлено: 10:34 24-07-2008
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MsdLamer
 
что нибудь аналогичное предыдущему, но примерно такое..
 
var
  aFileNAme : string;
 
aFileName := '';
sl := TStringList.Create;
sl2 := TStringList.Create;
sl.LoadFromFile(filename);
// в sl будем хранить оригинальный файл, а в sl2 записывать текущий "маленький" файл
for i := 0 to sl.Count - 1 do begin
//  проанализируем текущую строку в файле sl
  if Length(sl[i]) <= 3 then begin
    // если она сигнализирует о начале нового файла, то запишем накопленные данные:
    if (sl2.Count > 0) and (aFileNAme <> '') then begin // записывать будем только в том случае, если данные имеются
       
      sl2.SaveToFile(aFileName + '.txt');
      sl2.Clear;
      aFileName := sl[i];
  end;
 
  sl2.Add(sl[i]); // добавим текущую строку в файл
end;
 
// запишем оставшиеся данные:
if (sl2.Count > 0) and (aFileNAme <> '') then  
      sl2.SaveToFile(aFileName + '.txt');
 
FreeAndNil(sl);  
FreeAndNil(sl2);

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 10:44 24-07-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Блин всем спасибо огромное за помощь!! Все с пояснениями супер....))) Кайфовый форум.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 10:49 24-07-2008
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Narrator
Ну в таком случае "угадать" сложнее.
Если бы форма, которая видна при дизайне и в запущенном приложении отличались в компонентах - тогда другое дело, эт мы знаем.
 
Может просто на форме есть какой-то "специфический сторонный компонент"? Например для скинов.
у ComboBox/ListBox наблюдается полоса прокрутки (ну если она действительно нужна по размеру.
цвет шрифта случайно не совпадает с цветом фона?  
(тут два варианта:  
- либо было решено разукрасить форму всемя цветами радуги. а многие компоненты наследуют эти цвета от родительского компонента - обычно формы.
- был поставлен компонент TXPManifest. И цвета с подключёнными стилями немного не совпадают с теми, что были в дизайне. Наблюдал когда то такое с TMainMenu, при этом в в винде была настроена очень странная тема в чёрно-зелённых тонах)
 
В FormCreate/FormShow и так далее нет какого то "хорошего кода"?
Воспроизводиться ли проблема на других формах этого проекта. А на другом проекте. А если этот проект запустить на другом компе?
 
Можно ещё пару вариантов привести, но сложно гадать на кофейной гуще.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 11:15 24-07-2008
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще один вопрос подскажите пожалуйста как можно в текстовом файле оставить нужные куски текста? Допустим есть текстовый файл с содежимым:
Саша 47 ....
какой-то текст
НатаШа 56....
дальше не нужный текст
Саша 78....
какой-то текст
НатаШа 71.....
нужно чтобы осталось  
Саша 47 ....
какой-то текст
НатаШа 56....
Саша 78....
какой-то текст
НатаШа 71.....
т.е. нужно чтобы остались только нужные куски. Саша и Наташа в одной строке не попадаются. Спасибо.

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 12:46 24-07-2008
Dimoniusis



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks у тебя ошибка.  

Цитата:
if Length(sl[i]) <= 3 then begin  
    // если она сигнализирует о начале нового файла, то запишем накопленные данные:  
    if (sl2.Count > 0) and (aFileNAme <> '') then begin // записывать будем только в том случае, если данные имеются  
      sl2.SaveToFile(aFileName + '.txt');  
      sl2.Clear;  
      aFileName := sl[i];  
  end;
 

 
Правильно:

Цитата:
  if Length(sl[i]) <= 3 then begin  
    // если она сигнализирует о начале нового файла, то запишем накопленные данные:  
    if (sl2.Count > 0) and (aFileNAme <> '') then // записывать будем только в том случае, если данные имеются  
      sl2.SaveToFile(aFileName + '.txt');  
 
    sl2.Clear;  
    aFileName := sl[i];  
  end;
 

Всего записей: 4134 | Зарегистр. 18-10-2005 | Отправлено: 22:34 24-07-2008 | Исправлено: Dimoniusis, 22:35 24-07-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru