Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Delphi+Firebird самый удобный-простой метод работы 
:(
    Опции темы
delphicoding
  Дата 5.7.2011, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2011

Репутация: -2
Всего: -2



Добрый день!

С Delphi вообще не знаком. Программировал ранее на языке программирования с куда более "логически очевидным кодом" и в другой области прикладного программирования и графики. Так получилось, что попросили помочь - отредактировать старый проект Delphi + Firebird. Пытаюсь освоить... по началу всё как-то тупо и непривычно, утомляет всякая имхо неудобная фигня и лишние строки, непонятные приставки итд. Например, нужно добавить показ в таблице ещё одной колонки данных - пол дня вожусь хз как это сделать - колонку добавил, объявил в начале исходника, данные колонке из БД назначил, программа компилируется но колонка пустует... открываю файл БД там ещё тонна кода - ну таблицы понятно, тригеры понятно, но полно ещё каких-то процедур, доменов, индексов... Конечно, всё это нужно изучать, но всё же возможно вы сможете как-то помочь вначале...

1. Прошу профи посоветовать - как под Delphi 2009 + Firebird (+FIBplus +DevExpress +JVCL) наиболее легко и удобно с точки зрения логики и простоты понимания и отслеживания цепей процессов организовать работу с Firebird? Например, год назад вдруг потребовался MySQL - разобрался в нём за час! - научился создавать БД, таблицы, строки, определять типы данных, записывать данные, очищать, удалять, итд. Но в данном проекте видимо используется слишком большое кол-во шагов: создание переменной, определение типа переменной, создание процедуры для переменной, создание в интерфейсе компонент и назначение переменных, отсыл к общему блоку в Delphi работы с СУБД, взаимодействие с неким процедурами СУБД, получение, разбиение, итд. Можно ли упростить цепочку? Мне было бы намного проще: а) работать с визуальными копонентами автоматически объединяемыми в блоки (например, как в html создаётся блок с кнопкой Enter, а все поля заполняются и отправляются автоматически без необходимости каждое поле объявлять, обозначать, процедуры для него писать, без необходимости объединять все эти запросы, итд); б) работать с БД напрямую вручную - мне проще перечислить текстом 50 таблиц, чем разделять код программы на 10 различных типов кода (объявление, назначение, процедуры, функции, потом тоже самое опять в СУБД, итп), кроме того код не содержит почти никаих комментариев - тк непривычно и всё это вместе выглядит как каша! :(
Вот ещё пример, объект с выпадающим списком называется TJvDBLookupCombo и в нём есть возможность напрямую указать данные из БД, а вот в колонках DevExpress так и не нашёл как указать напрямую нужные из БД таблицы-данные?? :(

2. Можно ли как-то автоматически перевести весь проект на более удобный-простой метод общения с БД?

3. Возможно также есть возможность в настройках скрыть весь код автоматически генерируемый Delphi при работе с графическим интерфейсом (формами), чтобы отображался только код написанный вручную? Чтобы просто не мешал на первых порах...

4. Посоветуйте книги по Delphi + DevExpress + FIBplus + Firebird...

Заранее спасибо за подробные полезные ответы!

Это сообщение отредактировал(а) delphicoding - 5.7.2011, 23:07
PM MAIL   Вверх
superVad
Дата 6.7.2011, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 4
Всего: 15



Что бы добавить колонку в грид - надо сначала добавить нужное поле в запрос в датасете, а потом добавить колонку в грид (обычно надо 2 раза клацнуть на него сначала, но я с DevExpress не работал) и настроить ее на это поле.

Там из автоматически сгенерированного только описание контролов вначале - не вижу смысла их прятать.

По DevExpress попробуйте в этом блоге посмотреть - ссылка

Книги по базам, фибам, ФБ попробуйте тут на сайте в разделе - Базы данных и репортинг.
PM MAIL   Вверх
delphicoding
Дата 6.7.2011, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2011

Репутация: -2
Всего: -2



Спасибо, попробую!
PM MAIL   Вверх
Akella
Дата 7.7.2011, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(delphicoding @  5.7.2011,  19:09 Найти цитируемый пост)
 Программировал ранее на языке программирования с куда более "логически очевидным кодом" и в другой области прикладного программирования и графики. Так получилось, что попросили помочь - отредактировать старый проект Delphi + Firebird. Пытаюсь освоить... по началу всё как-то тупо и непривычно, утомляет всякая имхо неудобная фигня и лишние строки, непонятные приставки итд.


намёк на тему для холивара  smile ?

Добавлено через 1 минуту и 19 секунд
Цитата(delphicoding @  5.7.2011,  19:09 Найти цитируемый пост)
Например, нужно добавить показ в таблице ещё одной колонки данных - пол дня вожусь хз как это сделать - колонку добавил, объявил в начале исходника, данные колонке из БД назначил, программа компилируется но колонка пустует... открываю файл БД там ещё тонна кода - ну таблицы понятно, тригеры понятно, но полно ещё каких-то процедур, доменов, индексов... Конечно, всё это нужно изучать, но всё же возможно вы сможете как-то помочь вначале...


В таких случая нанимается программист, который знает Delphi и Firebird ;)

Добавлено через 3 минуты и 34 секунды
Сколько это будет стоить? Ну примерно 10-30 долларов за час работы. В зависимости от квалификации программиста.

Не-не, я не намекаю, что я хочу взяться за проект. Просто уверен, что так будет быстрее, чем ты сначала изучишь: Delphi, SQL, Firebird, саму среду программирования Delphi, да ещё и IBExpert ;)

Добавлено через 4 минуты и 6 секунд
Цитата(delphicoding @  5.7.2011,  19:09 Найти цитируемый пост)
+FIBplus +DevExpress +JVCL

оооооо, да тебе работы хватит  smile

Добавлено через 5 минут и 21 секунду
Цитата(delphicoding @  5.7.2011,  19:09 Найти цитируемый пост)
4. Посоветуйте книги по Delphi + DevExpress + FIBplus + Firebird...

таких книг нет

Добавлено через 10 минут и 36 секунд
Документации на русском по DevExpress нет. Есть только на английском на офсайте в виде справочный файлов и маловато + скудноватые примеры.
По FibPlus есть документация по компонентам и по свойствам компонент, а также примеры. Всё на русском и английском.
По Firebird есть книга "Firebird: руководство разработчика баз данных" от Хелен Борри на русском. Но если разобрался в мускуле, то и в FB подавно разберёшься, SQL ведь - это стандарт smile
Книгу по дельфи??? Их столько.... Почитай Марко Кэнту.

Добавлено через 11 минут и 52 секунды
Задавайте вопрос на нашем форуме, вот разделы:
http://forum.vingrad.ru/forum/Interbase-database.html
http://forum.vingrad.ru/forum/delphi-db-da...-reporting.html
http://forum.vingrad.ru/forum/delphi-general.html
http://forum.vingrad.ru/forum/forum-331.html

Добавлено через 12 минут и 2 секунды
http://forum.vingrad.ru/forum-440.html

Добавлено через 13 минут и 34 секунды
Цитата(delphicoding @  5.7.2011,  19:09 Найти цитируемый пост)
. Но в данном проекте видимо используется слишком большое кол-во шагов: создание переменной, определение типа переменной, создание процедуры для переменной, создание в интерфейсе компонент и назначение переменных, отсыл к общему блоку в Delphi работы с СУБД, взаимодействие с неким процедурами СУБД, получение, разбиение, итд. 

Вообще-то можно довольно быстро написать приложение на дельфи с базой Firebird без ввода кода smile, просто мышкой, ну или с минимальными затратами.
PM MAIL   Вверх
delphicoding
  Дата 8.7.2011, 00:31 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2011

Репутация: -2
Всего: -2



После нескольких дней ковыряния проекта, среда Delphi не особо радуют... :(

-1 Прежде всего кривые хрен знает откуда взятые названия терминов... например Unit - шозанах?! Оказывается это Code. А, что Form не может быть по-английски Unit??   это самый просто пример, таких примеров "странных названий" полно. Сильно мешает.

-2 Слабая стандартизация компонент, вот несколько блоков кода одного проекта с совершенно разным синтаксисом, хрен разберёшь что где как делать: 

   With spReport do begin (без "do" никак?)
    close;

    SQLs.SelectSQL.Text:='SELECT * FROM '+ProcName+'(:DATE_FROM, :DATE_TO, :source_id, :temp_ID, :USER_ID)'; (тут появилось двоеточие)

    Params[0].Value:=pDateFrom; (почему параметры они тупо по циферкам не понял)
    Params[1].Value:=pDateTo;

    freport.Variables['Директор']:=''''+gDirector+''''; (оппа появились кавычки в огромном колве и даже плюсики, а переменная уже в квадратных скобках, оппа)
    
-3 удацкая конструкция взаимодействия с данными БД - нельзя просто написать хоть в коде, хоть в Value графического объекта значение вида "FBSQL.db.table.column" например "FBSQL.basa.COMPANY.DIRECTOR" или даже ещё проще "FBSQL.DIRECTOR", нет, нужно всё друг другу переназначить по 10 раз и завести новые переменные с абсолютно аналогичными названием типа:

  gDirector:=GetParams('DIRECTOR','');
  edDirector.Properties.Value:=gDirector;
  SetParams('DIRECTOR',gDirector);
  gDirector:=GetParams('DIRECTOR','');

-4 собственно о процедурах - нахрена их объявлять по два раза?! в начале и при запуске процедуры? какой смысл?!

type
    procedure ShowReport(ProcName, ReportName, ReportType:string);

procedure ShowReport(ProcName, ReportName, ReportType:string);
begin
   ...
   end;
end;

-5 наверно Delphi делали чтобы было легче программировать, например в пред пункте (ProcName, ReportName, ReportType:string) можно указать тип переменной не для каждой, а сразу для группы - типа удобнее же и быстрее! но в реальности это менее наглядно и приходится выискивать какого же собсвтенно типа одна из десятка переменных?! где же объявлялка там затерялась?!

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

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

-8 объекты на графической форме не только нельзя расположить точно по абсолютным значениям пикселей, а только относительно предыдущего объекта, но и нельзя создавать сетки привязки объектов по координатам - в результате сложные формы с кол-вом графических объектов более 30-50 задолбаться можно выравнивать, и нет блокировки от случайного движения мышкой - через раз выбирая объект слегка его дёрнешь куда-нить в сторону в итоге все разъезжаются...

-9 куча левых приставок вида spDirector, exDirector, TDirector, TfDirector итд... офигеть можно, зачем всё это?! Есть некие данные в БД назовём просто "FBSQL.DIRECTOR" также пускай будет переменная хранящая и передающая значение из БД "var.Director" если переменная назначена графическому объекту - пускай у него будет имя и свойства вида "obj.EditFiledDirector.Width" итп. Всё прекрасно видно, понятно и работать легко и ничего не перепутается! Тут же в Delphi бардак полный у всех однотипные имена и хрен поймёшь сразу что где и чем отличается от соседнего?! слишком много для одних данных разных переменных и объектов. Опять же не хватает параметра для всех переменных вида local/global - создал один раз переменную global и обращайся к ней напрямую из любого места проекта, а тут постоянно приходится указывать откуда эта переменная родом, где была заявлена - лишний код и груз.

-10 зачем нужен begin-end в каждой процедуре?! нельзя просто скобочками или типа того?!

procedure TfLocalReport.btPrintClick(Sender: TObject);
begin
 fDesign:=false;
 PrintReport;
end;

намного компактнее и проще для визуальной проверки было бы:

procedure TfLocalReport.btPrintClick(Sender: TObject) {
 fDesign:=false;
 PrintReport }



В общем пока вижу только, что в Delphi довольно легко сделать лёгкий проект, но разобраться в сложном проекте - охренеть. :(

Если можете чтото подсказать по повышению удобства работы в Delphi - было бы здорово!


PS Не ругайтесь - целый день ковырялся пытался исправить ошибку разработчика вытащить одно поле из БД которое он забыл вывести в отчёт - исправил несколько ошибок, оптимизировал код блока отчётов в почти два раза! всё что было работает... но нужное новое поле так в отчёте и не появляется.... мля... бесит! :wall:
PM MAIL   Вверх
Данкинг
Дата 8.7.2011, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
например Unit - шозанах?!

Перевести требуется, что ли? smile В общем, это код для процедур/функций той или иной формы.
Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
Оказывается это Code.

А code - шозанах? smile 
Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
А, что Form не может быть по-английски Unit??   это самый просто пример, таких примеров "странных названий" полно. Сильно мешает.

Не знаю, никогда не мешало, даже в голову не приходило ни о каких странностях. Кстати, в Билдере то же самое.
Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
With spReport do begin (без "do" никак?)

"do" вообще-то во многих языках встречается. И begin тут непосредственно с do никак не связано, т.е. без него бы как раз фигня и вышла.
Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
(почему параметры они тупо по циферкам не понял)

Первый, второй, третий, а тут-то что не так? smile Не нравятся циферки - используй ParamByName.
Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
, а переменная уже в квадратных скобках, оппа)

Снова-таки, в Билдере ещё хуже. smile 
Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
зачем нужен begin-end в каждой процедуре?! нельзя просто скобочками или типа того?!

А если бы были скобочки, ты к чему бы тогда придрался? smile 
Цитата(delphicoding @  8.7.2011,  01:31 Найти цитируемый пост)
намного компактнее и проще для визуальной проверки было бы:

Опять Билдер вспомним.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 8.7.2011, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
 With spReport do begin (без "do" никак?)

Ты чё сюда пришёл? Высказать недовольство относительно Delphi?
Марш сюда: http://forum.vingrad.ru/forum/holy-wars.html  smile 

Если есть вопросы конкретные вопросы, создавай нормально тему, задай по-человечески вопрос. А нет? До свидания! smile 
PM MAIL   Вверх
delphicoding
Дата 8.7.2011, 09:04 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2011

Репутация: -2
Всего: -2



Так конкретные!

Может по другим пунктам знаете как решить неудобство, например: п.6, п.7, п.8 (как заблокировать элементы формы от случайного сдвига, ведь для движений объектов не работает Ctrl+Z  )?

п.2 - не понимаю почему такой разный синтаксис в каждом блоке  smile 
PM MAIL   Вверх
Akella
Дата 8.7.2011, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
 With spReport do begin (без "do" никак?)

можно без begin, но без do никак

Код

with form1 do
  show;

PM MAIL   Вверх
delphicoding
Дата 8.7.2011, 09:22 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2011

Репутация: -2
Всего: -2



Так конкретные!

Может по другим пунктам знаете как решить неудобство, например: п.6, п.7, п.8 (как заблокировать элементы формы от случайного сдвига, ведь для движений объектов не работает Ctrl+Z  )?

п.2 - не понимаю почему такой разный синтаксис в каждом блоке  smile 
PM MAIL   Вверх
Akella
Дата 8.7.2011, 09:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
    Params[0].Value:=pDateFrom; (почему параметры они тупо по циферкам не понял)
    Params[1].Value:=pDateTo;


тупо надо почитать документацию из которой узнаешь, как можно обращаться к параметра по имени, а не по "циферкам" Или клавиша F1 выламана? Мож в гугле забанили за частый поиск?

Добавлено @ 09:26
Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
-5 наверно Delphi делали чтобы было легче программировать, например в пред пункте (ProcName, ReportName, ReportType:string) можно указать тип переменной не для каждой, а сразу для группы - типа удобнее же и быстрее! но в реальности это менее наглядно и приходится выискивать какого же собсвтенно типа одна из десятка переменных?! где же объявлялка там затерялась?!


пиши тип для каждой, кто мешает, в чем проблема?  smile

Добавлено @ 09:27
Цитата(delphicoding @  8.7.2011,  09:22 Найти цитируемый пост)
как заблокировать элементы формы от случайного сдвига

просто так - никак
может быть ты найдёшь какую-нибудь утилиту, эксперта для дельфи, но по-другому никак
PM MAIL   Вверх
Данкинг
Дата 8.7.2011, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(delphicoding @  8.7.2011,  10:22 Найти цитируемый пост)
 не понимаю почему такой разный синтаксис в каждом блоке

Да единый синтаксис там. Если ты будешь Паскаль с Дельфи 2010 будешь сравнивать - там, конечно, синтаксисы разнятся. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 8.7.2011, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
-6 видимо разработчик оригинала проекта работал не очень аккуратно и поэтому постоянно скачут пробелы и отступы - редактор Delphi абсолютно не умеет форматировать текст самостоятельно, убирать лишние пробелы или наоборот поддерживать заданные интервалы между активными символами. 


и это очень хорошо!!!!! и удобно!

ну а ты можешь себе поставить отдельно какой-нибудь delphi Code Formatter, хотя в JEDI весть есть же

Добавлено через 2 минуты и 1 секунду
Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
-8 объекты на графической форме не только нельзя расположить точно по абсолютным значениям пикселей, а только относительно предыдущего объекта, но и нельзя создавать сетки привязки объектов по координатам -



НУ И БРЕД  smile  smile  smile  smile  smile  smile вот так бред, всё там можно! RTFM smile 
1. Используй перетаскивание с помощью Shift/Ctrl/Alt, можно перемещать мышкой или стрелками клавиатуры.

Добавлено через 2 минуты и 35 секунд
Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
-9 куча левых приставок вида spDirector, exDirector, TDirector, TfDirector итд... офигеть можно, зачем всё это?! 


чтобы тебя запутать бедного

Добавлено через 3 минуты и 33 секунды
Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
Есть некие данные в БД назовём просто "FBSQL.DIRECTOR" также пускай будет переменная хранящая и передающая значение из БД "var.Director" если переменная назначена графическому объекту - пускай у него будет имя и свойства вида "obj.EditFiledDirector.Width" итп. Всё прекрасно видно, понятно и работать легко и ничего не перепутается!


Ну дык тебе и карты в руки  smile  smile  smile  smile

Добавлено через 5 минут и 1 секунду
Ейбогу, граждане.... я бы после этого товарища проект не стал бы дописывать. Такое впечатление, что автор темы ранее писал на каком-то неизведанном языке собственного производства aka Brainfuck  smile

Добавлено через 13 минут и 18 секунд
Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
-4 собственно о процедурах - нахрена их объявлять по два раза?! в начале и при запуске процедуры? какой смысл?!

type
    procedure ShowReport(ProcName, ReportName, ReportType:string);

procedure ShowReport(ProcName, ReportName, ReportType:string);
begin
   ...
   end;
end;



Так надо. Как минимум для того, чтобы определить область видимости.
PM MAIL   Вверх
Akella
Дата 8.7.2011, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
-6 видимо разработчик оригинала проекта работал не очень аккуратно и поэтому постоянно скачут пробелы и отступы - редактор Delphi абсолютно не умеет форматировать текст самостоятельно, убирать лишние пробелы или наоборот поддерживать заданные интервалы между активными символами. 


да, по-твоему правильно было бы так:
Код

Function GetPriceForZayavka(spinFilterCliPrice:TcxSpinEdit;lbCliPriceWPercent:TcxLabel;Price:Extended):extended;
Var
ii: extended;
begin
if spinFilterCliPrice.Value<=0 then
begin
lbCliPriceWPercent.Caption:=constWrongPercent;
result:=-1;
exit;
end;
ii:=Price*(spinFilterCliPrice.Value/100);
result:=Price+ii;
lbCliPriceWPercent.Caption:='max: '+FloatToStr(result);
end;


И то правда, нафиг нам эти пробелы, с ними больше мороки

Добавлено через 9 минут и 4 секунды
Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
намного компактнее и проще для визуальной проверки было бы:

procedure TfLocalReport.btPrintClick(Sender: TObject) {
 fDesign:=false;
 PrintReport }



Пиши на сях, там от скобочек тебе в глазах рябить не будет  smile

Добавлено через 9 минут и 52 секунды
Нужно будет тему отправить в Песочиницу или в холивары. Только нужно её ещё чуть-чуть подразвить  smile

Добавлено через 10 минут и 59 секунд
Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
В общем пока вижу только, что в Delphi довольно легко сделать лёгкий проект, но разобраться в сложном проекте - охренеть. :(

В любом достаточно сложном проекте можно охренеть даже профессионалу, не говоря о тебе ;)
PM MAIL   Вверх
Akella
Дата 8.7.2011, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(delphicoding @  8.7.2011,  00:31 Найти цитируемый пост)
исправил несколько ошибок, оптимизировал код блока отчётов в почти два раза! 

Вместо Begin/End скобочки поставил  smile ?!
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1184 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.