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

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: Vo1T
Дата сообщения: 03.01.2010 20:09
Помогите перевести [more=этот][no]class Sw {
public:
Sw();
unsigned int* ignore_list;
int ignore_list_len;
bool slow_mode;
unsigned int min_ident_size;
bool level_switch;
bool use_comp_level[9];
bool use_mem_level[9];
};

Sw::Sw() {
ignore_list = NULL;
ignore_list_len = 0;
slow_mode = false;
min_ident_size = 64;
level_switch = false;
for (int i = 0; i < 9; i++) {
use_comp_level[i] = true;
use_mem_level[i] = true;
}
}[/no][/more] заголовочный файл
Автор: psa1974
Дата сообщения: 03.01.2010 23:08
Vo1T

Цитата:
Помогите перевести этот заголовочный файл


[more= Смотри здесь]
unit Sample;

interface

uses
Windows;

const
ARRAY_LEN = 9;

type
TLevelArray = array[0..ARRAY_LEN- 1] of BOOL;

TSw = class
private
ignore_list: PLongWord;
ignore_list_len: Integer;
slow_mode: BOOL;
min_ident_size: LongWord;
level_switch: BOOL;
use_comp_level: TLevelArray;
use_mem_level: TLevelArray;
public
constructor Create;
end;

implementation

constructor TSw.Create;
begin
ignore_list := nil;
ignore_list_len := 0;
slow_mode := False;
min_ident_size := 64;
level_switch := False;
FillChar(use_comp_level, SizeOf(TLevelArray), BOOL(True));
FillChar(use_mem_level, SizeOf(TLevelArray), BOOL(True));
end;

end.

[/more]
Автор: snike555
Дата сообщения: 03.01.2010 23:32
Долго искал и наконец нашел вменяемые статьи про Ribbon, может кому пригодится:

http://www.webdelphi.ru/2009/10/ribbon-controls-shag-za-shagom-shag-1-vizualnaya-razrabotka-interfejsa/

http://www.webdelphi.ru/2009/10/ribbon-controls-shag-za-shagom-shag-2-dopolnitelnye-elementy-interfejsa/
Автор: Vo1T
Дата сообщения: 04.01.2010 00:04
psa1974, пасиба ... а то у меня всё на хидере встало ... хотя на си тож не плохо получилось
Автор: delover
Дата сообщения: 04.01.2010 14:08
snike555
По моему ShowHint как-то заморочено. А вот за лазарус спасибо, интересная система, думаю освоить. Есть ещё мысль, но не знаю как спросить. Можно ли построив дома систему баз данных, построить аналогичную, но для свободного использования? Имеется ввиду, что базы данных написаны на разном SQL?
Автор: toxicmail
Дата сообщения: 05.01.2010 13:26
Выдалась свободная минута пощупать D2010 и с первого шага неприятный баг в IDE:
- Настроил всё максимально похоже на D7
- Так же отметил чекбокс "Minimize on run"
- Запускаем пустой WinVCL проект, IDE минимизируется
- Щелкаем по иконке в заголовке пустого проекта, сворачиваем, разворачиваем, слегка гоням
- Закрываем проект, а IDE не восстанавливается

Кто-нибудь может подтвердить наличие бага у себя?
Если да, отпишите в баг-репорте, пожалуйста!
Автор: spasius
Дата сообщения: 05.01.2010 14:54
Сразу с выходом Студии 2010 пробовал аналогичный момент. Настроил внешний вид как Д7:
панель компонентов сверху с меню, плавающие навигатор, инспекто, и т.д.
Были баги и с минимизацией и с панелью компонентов (особенно - компоненты стали просто пропадать). Пришлось вернутся к стандартному расположению, вроде даже уже привык. С выходом обновлений настроиться не пробовал, возможно подвижки и есть.
Автор: jonikDk
Дата сообщения: 05.01.2010 14:57

Цитата:
Можно ли построив дома систему баз данных, построить аналогичную, но для свободного использования? Имеется ввиду, что базы данных написаны на разном SQL?

написать приложение под разные базы данных ??
Или разработать саму БД ??
Автор: spasius
Дата сообщения: 05.01.2010 15:12
jonikDk
вопрос действительно поставлен непонятно ...
Свободных СУБД хватает, тот же MySQL или PostgreSQL. Возможно автор имеет ввиду унифицированный интерфейс SQL расширений для каждой СУБД.
Автор: Alexos
Дата сообщения: 05.01.2010 21:35
toxicmail, у себя такой баги не нашел.
Автор: erv
Дата сообщения: 11.01.2010 22:01
Подскажите, как в 2009 выбирать работать в программе с однобайтосимвольными строками или Unicodoвыми?
Автор: Frodo_Torbins
Дата сообщения: 11.01.2010 22:40
erv
Есть неофициальные переключатели: http://gunsmoker.blogspot.com/2008/11/delphi-2009.html но сам автор к ним относится так: "Я выложил эту реализацию переключателя Unicode только чтобы показать, что такой переключатель приносит кучу подводных камней, спорных вопросов и проблем".
Автор: snike555
Дата сообщения: 12.01.2010 17:58
Frodo_Torbins
А где бы взглянуть на этот список "подводных камней, спорных вопросов и проблем"?
Автор: Frodo_Torbins
Дата сообщения: 12.01.2010 18:19
snike555
Просто взгляните на список того, что надо реализовать, чтобы этот переключатель нормально работал: http://andy.jgknet.de/blog/?p=272 И сравните с тем, что реально было реализовано: http://andy.jgknet.de/blog/?p=322
Автор: snike555
Дата сообщения: 12.01.2010 20:59
Frodo_Torbins
Вроде это везде решается ведением двойных функций одной для юникода и одной для анси, а использование в зависимости от переключателя. У майкрософтовской студее всё же как-то реализовано.

Добавлено:
Вообще меня удивляет что простейщие заявки на исправление простейших багов с 2008 года висят у разработчиков делфи, так что стоит ли ждать
Автор: psa1974
Дата сообщения: 12.01.2010 22:28
erv
snike555
Действительно, в MS Visual C++ в стандартных заголовочных файлах предусмотрено использование макроса UNICODE и в зависимости от того, определен он или нет, используются юникодовые или анси-версии АПИ-функций. В Дельфи тоже всю жизнь были и есть юникодовые или анси-версии АПИ-функций, однако, цитируя Антона Григорьева:

Цитата:
Разработчики Delphi не стали полностью копировать этот механизм (речь идет о макросе-переключателе) - видимо, этому помешала существующая в Delphi раздельная компиляция модулей, из-за которой невозможно определением одного символа заставить все модули перекомпилироваться (тем более что часть из них может не иметь исходных кодов).

Поэтому если писать на чистом АПИ - никаких проблем в использовании чисто анси-версий АПИ-функций (сам писал в таком стиле - прога использовала юникодовые или анси-версии ф-ций в зависимости от параметра командной строки). Но если опираться на ВСЛ - то как ни крути, а начиная с Д2009, ВСЛ исключительно юникодовая. Можно писать свой код в терминах анси-строк, но интерфейс продукта все равно будет юникодовый. И нечего сетовать на разрабов, что мол, чего они никак не могут придумать волшебную палочку...
А вообще, я не пойму, зачем париться в Д2009 с анси? Чем юникод не устраивает? Все жизнь вроде как отсутствие юникода было поводом для укоров разрабам, тут сделали - и опять не так... Не нравится юникод - берите любую предыдущую версию Дельфи и будет вам счастье... Имхо.
Автор: VadimLou
Дата сообщения: 13.01.2010 03:34

Цитата:
зачем париться в Д2009 с анси

ну скажем так - есть проект на 50 мег ... жутко живой ... в пределах ansi перход выше не вызывает затруднений ... на уникод нужны бешенные бабки и куча времени
Автор: Alexos
Дата сообщения: 13.01.2010 06:58
я конечно изменяюсь, но это как надо было писать, что переход стоит бешенных бабок только из за смены строк Ansi -> Unicode
Автор: psa1974
Дата сообщения: 13.01.2010 08:05
VadimLou

Цитата:
на уникод нужны бешенные бабки и куча времени

Насчет времени - само собой, с юникодом надо разбираться, а кто говорил, что будет легко (хотя, на самом деле, далеко не всегда всё так прозаично)? А иначе - КАКОЙ ГЛУБОКИЙ СМЫСЛ "перехода выше" на принципиально юникодовую студию? Для галочки? Что реально это дает ТАКОМУ проекту, который ни в жизнь не перевести на юникод? Что в таком случае мешает остаться на Д2007? Она все умеет! Вон коммандер до сих пор на Дельфи 3 делается... Насчет бешенных бабок - я не понял, какая тут взаимосвязь, ну да ладно...

ЗЫ: Не так страшен черт, как его малюют.
Автор: snike555
Дата сообщения: 13.01.2010 08:23
Alexos
Да там один только CharInSet чего только стоит, который не умеет с кириллицей работать, пришлось свой аналог писать. Оператор in вообще можно выкинуть, а он жутко удобный и понятный. Даже там где не кириллица варнинги на него глаза заедают.
Автор: Alexos
Дата сообщения: 13.01.2010 09:19
Варнинги не мешют коду компилироваться )
Автор: VadimLou
Дата сообщения: 13.01.2010 19:59
psa1974

Цитата:
с юникодом надо разбираться

разобрались - тут понятно ... проблема в трудозатратах - поэтому на 2007 и сидим ... а вперёд хочтца хотя бы из-за новых IDE ... 2007 на приличных проектах - и глючит и тормозит и фиксов под него не будет ... командер - плохой пример для сравнения , а вот когда нужно набирать новеньких кодеров на работу, то хотчтца чтобы у них и стимул был осваивать новенькое ...
Alexos

Цитата:
варнинги

варнингами хоть управлять мона (отключать) , а вот хинты некоторые (чужие) задалбливают...

Автор: snike555
Дата сообщения: 14.01.2010 19:58
VadimLou
Имеется опыт перевода крупного проекта на Delphi 2010, если необходима помощь ( или полностью перевести проект) могу помочь за вознаграждение.
П.С. пишу не в личку потому что вдруг кого ещё может заинтересовать подобное предложение.
Автор: Andrey128
Дата сообщения: 19.01.2010 12:41
Имеется большой текст, который просматривается в TMemo.
Как сделать, чтобы 1000 строка в TMemo была 1-й?

PS WordWrap := True;
Автор: relictus
Дата сообщения: 19.01.2010 12:47
Andrey128
Если я правильно тебя понял, то так:
Memo1.Perform(EM_LINESCROLL, 0, 1000)
Автор: Andrey128
Дата сообщения: 19.01.2010 13:09
relictus
Помогло для первого раза, а следующие разы курсор непонятно куда прыгает. Логику так и не понял. А первый раз, т.е. после запуска приложения, встал куда надо.
Автор: relictus
Дата сообщения: 19.01.2010 13:20
Andrey128

Цитата:
Логику так и не понял

Perform(EM_LINESCROLL, lParam, wParam) - прокручивает текст на wParam символов по горизонтали и на lParam строк по вертикали.
Почему и куда у тебя там прыгает курсор без твоего кода не берусь угадать...
Автор: Andrey128
Дата сообщения: 19.01.2010 13:49
relictus
Насколько я понял, из вашего сообщения, EM_LINESCROLL прокручивает текст от текущего положения курсора. Поэтому у меня первый раз и срабатывало нормально, потому как курсор был вначале.
А как сделать, чтобы из любого положения курсора, 1000 строка была первой?
Автор: relictus
Дата сообщения: 19.01.2010 14:49
Andrey128

Цитата:
А как сделать, чтобы из любого положения курсора, 1000 строка была первой?

Memo1.Perform(EM_LINESCROLL, 0, 1000 - Perform(EM_GETFIRSTVISIBLELINE, 0, 0))
Автор: Andrey128
Дата сообщения: 20.01.2010 04:50
relictus
Спасибо! То что надо!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


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