Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (все версии) - часть 4

Автор: YarGen
Дата сообщения: 05.06.2009 16:57
gvidon2009
в ObjectInspector у необходимых объектов есть свойство Font у него параметр Charset нужно выставить в RUSSIAN_CHARSET.

Добавлено:
SANIOK_AV
а если попробавоть выставить глобальныю переменную
ShortDateFormat:='dd.MM.yyyy'?;
Автор: gvidon2009
Дата сообщения: 08.06.2009 08:47
у меня в Delphi 7 (на windows 7 7100) в полях Caption, Label.Text вместо русского текста появились вопросы.
Что делать чтобы вернуть русский текст?

Добавлено:
русский текст заменился на знаки вопроса только при отображении из DFM файлов.
Причём в самом DFM всё храниться как обычно.
Например:
Caption = #1057#1077#1088#1074#1077#1088' '#1040#1056#1052' '#1044#1080#1089#1087#1077#1090#1095#1077#1088#1072
Из чего это может быть?

Добавлено:
всё разрешилось
ошибка в Win 7 RC
необходимо заново установить в региональных настройках русскую System Locale (т.е. переключить на английскую, перезугрузиться и обратно на русскую)
Автор: SIgor33
Дата сообщения: 08.06.2009 15:48
Подскажите, чем лучше визуализацировать и построить граф в delphi. Если можно с примерами
Автор: V1s1ter
Дата сообщения: 08.06.2009 16:59
SIgor33
Графы бывают разные, взгляни для начала
DeveloperExpress FlowChart
DeveloperExpress OrgChart - граф типа организационная диаграмма (однонаправленній)
Больше возможностей, но не граф, а универсальная "чертилка"
Draw Objects - достаточно легко рисуется любой граф, встроенные объекты типа линии-коннекторы. Встроенная поддержка тени (красивая). Помоему бесплатна и с исходниками.
Автор: SIgor33
Дата сообщения: 09.06.2009 08:14
V1s1ter
Я это уже видел. DeveloperExpress OrgChart заслуживает внимание только когда имено диаграмму из базы рисуешь, а если есть перекрестные связи то уже сделать ничего невозможно. насчет Draw Objects там ножно все самому размещать.
Я использовал graphviz запуская в коносльном режиме, а файл формировал дельфи
Хотелось бы без консоли.
Автор: RS85
Дата сообщения: 10.06.2009 17:13
Уважаемые гуру, кто знает, как можно в TListView отсортировать файлы и папки, как например в WinRar`e.
Т. е. сначала идут папки по алфавиту, а потом после них файлы.

Как можно описать подобную сортировку?

Заранее спасибо
Автор: Ramazan
Дата сообщения: 11.06.2009 07:31
RS85
Например, так:

Код:
function CompareProc(Item1, Item2: Integer; Data: Integer): Integer; stdcall;
begin
if TListItem(Item1).ImageIndex = TListItem(Item2).ImageIndex then
Result := AnsiCompareText(TListItem(Item1).Caption, TListItem(Item2).Caption)
else
// Предполагается, что ImageIndex папки равен 0
if TListItem(Item1).ImageIndex = 0 then Result := -1 else Result := +1;
end;

Вызов сортировки:
ListView.CustomSort(CompareProc, 0);
Автор: RS85
Дата сообщения: 11.06.2009 10:14
Ramazan
Спасибо!

А можно немного пояснить принцип действия?

Эту функцию через цикл что-ли прогонять, по всему TListView, чтобы она сравнивала два Item`a, Item1 и Item2 и потом сортировала?

Вызов "ListView.CustomSort(CompareProc, 0);" не работает.
Пишет, что нужны параметры для функции, Item1 и Item2.

Заранее извиняюсь, если вопросы глупые. Просто что-то не могу понять.
Автор: Ramazan
Дата сообщения: 11.06.2009 12:05
RS85
Функция CompareProc - callback-функция, которая возвращает результат сравнения двух элементов списка: -1, если первый элемент должен быть расположен выше, 0, если на одном уровне (без разницы, в каком порядке), +1, если второй элемент должен быть выше. Непосредственно ее вызывать не нужно, ее адрес должен быть передан в метод CustomSort у списка (ListView), а собственно сортировку выполняет уже CustomSort.
Можно вызвать и ListView.CustomSort(nil, 0), в этом случае необходимо определить обработчик OnCompare (см. текст [more=тестового модуля]


unit Unit16;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ImgList, StdCtrls;

type
TForm16 = class(TForm)
ListView: TListView;
ImageList: TImageList;
btn: TButton;
procedure btnClick(Sender: TObject);
procedure ListViewCompare(Sender: TObject; Item1, Item2: TListItem; Data:
Integer; var Compare: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form16: TForm16;

implementation

{$R *.dfm}

function CompareProc(Item1, Item2: Integer; Data: Integer): Integer; stdcall;
begin
if TListItem(Item1).ImageIndex = TListItem(Item2).ImageIndex then
Result := AnsiCompareText(TListItem(Item1).Caption, TListItem(Item2).Caption)
else
// Предполагается, что ImageIndex папки равен 0
if TListItem(Item1).ImageIndex = 0 then Result := -1 else Result := +1;
end;

procedure TForm16.btnClick(Sender: TObject);
begin
ListView.CustomSort(CompareProc, 0);
end;

procedure TForm16.ListViewCompare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
begin
if Item1.ImageIndex = Item2.ImageIndex then
Compare := AnsiCompareText(Item1.Caption, Item2.Caption)
else
if Item1.ImageIndex = 0 then Compare := -1 else Compare := +1;
end;

end.
[/more])
Автор: spasius
Дата сообщения: 12.06.2009 12:31
уважаемые ру-бордовцы, кто знает как работать с IdDNSServer? какие файлы и куда нужно грузить в этот компонент чтобы он начал отвечать?
Автор: V1s1ter
Дата сообщения: 14.06.2009 19:53
Есть у меня два пакете при загрузки которых Делфи пишет "не могу зарегистрировать компонент XXX в пакете YYY.bpl поскольку он уже зарегистрирован в паете YYY.bpl"
Компонент XXX зарегистрирован в YYY.bpl один раз.
Указанное сообщение появляется при повторном запуске Делфи.
Тоесть после установки пакета YYY.bpl и запуске Делфи первый раз все нормально, а при следующих запусках начинает такое сообщение выдавать.
Вот пример:

Может кто сталкивался...
Автор: Xaoc666
Дата сообщения: 14.06.2009 21:18
V1s1ter

Возможно, процедура Register вызывается принудительно, например, в initialization секции...
Автор: V1s1ter
Дата сообщения: 14.06.2009 23:42
Xaoc666

Цитата:
Возможно, процедура Register вызывается принудительно, например, в initialization секции...

Сказать честно, я об этом не подумал.
Проверил - не оно.
Автор: spasius
Дата сообщения: 15.06.2009 01:53
V1s1ter
среда нашла такую же библиотеку в путях прописанных в настройках.
решается убиением файла "лишней" не нужной библиотеки после процедуры поиска )
Автор: V1s1ter
Дата сообщения: 15.06.2009 02:49
spasius
Спасибо, проверил - на всех дисках во всех каталдогах 1 bpl файл (дубликата нет).
Автор: zvyagaaa
Дата сообщения: 15.06.2009 12:27
здравствуйте, возникла необходимость в переустановке виндов.
Как грамотнее всего забэкапить Rad Studio, чтобы можно было максимально быстро накатить установленные компоненты без их перекомпиляции и прочего?
Спасибо.
Автор: Xaoc666
Дата сообщения: 15.06.2009 13:50
V1s1ter
spasius имеет ввиду, что есть пэкедж, содержащий регистрацию такого же компонента. Его имя не обязательно будет таким же. Возможно, при компиляции пакета менялось имя проекта, и старый собранный bpl-файл остался, и подключен к IDE. Стоит проверить Component->install Packages... на предмет наличия старых/негодных пакетов...
Автор: V1s1ter
Дата сообщения: 15.06.2009 14:40
Xaoc666
Этот вариант я проходил, при этом Делфи пишет:
"не могу зарегистрировать компонент XXX в пакете YYY.bpl поскольку он уже зарегистрирован в паете ZZZ.bpl"
а у меня:
"не могу зарегистрировать компонент XXX в пакете YYY.bpl поскольку он уже зарегистрирован в паете YYY.bpl"
Автор: Xaoc666
Дата сообщения: 15.06.2009 15:36
V1s1ter
Register написана корректно? Дублирования имени компонента нету?
Автор: spasius
Дата сообщения: 15.06.2009 17:48
Xaoc666
может у тебя регистрация одного и того же компонента в двух местах в пределах твоего YYY.bpl
Автор: staich
Дата сообщения: 15.06.2009 20:33
Может подскажет кто. Есть прога написаная на делфи. Если способ какой нибудь считать из оперотивы всё что туда она заносит? Просто она считывает строку из файла как то преоброзовывает и вот и хотелось бы увидить во что преобразовывает...
Автор: V1s1ter
Дата сообщения: 16.06.2009 00:48
spasius
Xaoc666
Все по одному разу.
Выяснил момент если грузит Делфи с пустым проектом все в норме.
Создаю проект ложу на форму компонент - все ок.
Сохраняю проект. Загружаю его снова - пишет выше указанное сообщение.
Выхожу, компилирую bpl с помощью DCC32.EXE, захожу в Делфи гружу проект - все в норме, как только скомпилирую в IDE при следующей загрузки опять сообщение.
Автор: spasius
Дата сообщения: 16.06.2009 02:41
смотри может у тебя Register вызывается в Initialization?!
Автор: V1s1ter
Дата сообщения: 16.06.2009 03:38
spasius
Спасибо за участие, но по второму разу не надо...
http://forum.ru-board.com/topic.cgi?forum=33&topic=9383&start=1900#3
Автор: gvidon2009
Дата сообщения: 16.06.2009 10:51
скажите, что необходимо, чтобы проект на delphi 2009 перевести на КПК и как это сделать?
сам проект простой только интерфейс с человеком и общение с ком портом.
Автор: Xaoc666
Дата сообщения: 16.06.2009 14:37
V1s1ter
Не было ли попытки зарегистрировать компонент вне пакета, через Install Component?
Кстаии, какая версия дельфей? Последние сервиспаки, фиксы установлены? Сколько дельфей стоит на машине? С гороскопом сверялись?
Автор: delover
Дата сообщения: 16.06.2009 15:29
Подскажите пожалуйста, а есть ли такое средство, чтобы когда я пишу dll эксперт для дельфи (например), чтобы мне было без разницы сколько раз было LoadLibrary? Безразлично сколько процессов это делало. Просто я сказал унлоад и удалить файл dll. Можно ли так сделать и есть ли кардинальные средства? Експерты тема интересная, хотелось бы попробовать менять в реал-тайм. Видимо написание библиотек дело не популярное во многом из-за этого.
Автор: brookson
Дата сообщения: 16.06.2009 15:41
Нужна идея, или может есть какие-то наработки.
Расписание. Запись клиента ведётся в таблицу, где есть:
- дата
- время начала
- время окончания
- к_кому_записан
- в какой кабинет записан

- фио клиента, телефон и т.д.
Кому-нибудь доводилось такое реализовывать?
Автор: f3ka
Дата сообщения: 16.06.2009 15:51
brookson
похожее приходилось реализовывать... запись на ремонт автомобилей...
дата, время, длительность, мастер, фио клиента, авто, телефон
Автор: V1s1ter
Дата сообщения: 16.06.2009 16:37
Xaoc666

Цитата:
Не было ли попытки зарегистрировать компонент вне пакета, через Install Component?
Кстаии, какая версия дельфей? Последние сервиспаки, фиксы установлены? Сколько дельфей стоит на машине? С гороскопом сверялись?

Небыло, 2007+..+Update3. Да, Одна, Нет.
Компонент для выбора цвета - 1 dpk, 400 kB исходников (100 kB в архиве)
http://rapidshare.com/files/245177440/mbColor_Lib.rar.html
Может попробуешь у себя?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Глобальные переменные в разных формах с++ builder 'a.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.