Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.08;
Скачать: CL | DM;

Вниз

DELPHi На ubuntu   Найти похожие ветки 

 
Noone   (2008-12-10 20:47) [0]

Есть такой ?где скачать?


 
YurikGL ©   (2008-12-10 21:14) [1]

Wine ?


 
Игорь Шевченко ©   (2008-12-10 21:16) [2]

Lazarus ?


 
KilkennyCat ©   (2008-12-10 21:23) [3]

Удалено модератором


 
boa_kaa ©   (2008-12-10 21:34) [4]


> YurikGL ©   (10.12.08 21:14) [1]
> Wine ?

7ка еще пойдет
а вот более поздние заточены на дотнет с сдк
а вот енто фик


 
Vampire Hunter D.   (2008-12-10 21:40) [5]

Если ты хочешь создавать качественные кросплатформенные приложения, у тебя есть такой выбор: С++, если приложение должно активно использовать возможности системы (для С++ можно найти много библиотек абстракции от этой самой системы) и Java в противном случае.
Поэтому, я ненавязчиво агитирую тебя забыть об этом страшном рассаднике глюков, в котором потомки TObject не могут наследовать интерфейсы, нельзя делать миксины, и вообще сколько-нибудь вменяемо объектно проектировать, и переходить на C++/Java.


 
DVM ©   (2008-12-10 21:50) [6]


> Vampire Hunter D.   (10.12.08 21:40) [5]

Правильно, давно пора переходить на рассадник глюков C++ и тормоз Java!


 
iZeqfreed   (2008-12-10 22:38) [7]

С + glib наш выбор :)


 
Городской Шаман   (2008-12-10 22:50) [8]

Удалено модератором


 
Городской Шаман   (2008-12-10 22:55) [9]


> DVM ©   (10.12.08 21:50) [6]
>
> > Vampire Hunter D.   (10.12.08 21:40) [5]
>
> Правильно, давно пора переходить на рассадник глюков C++


В С++ нужно библиотеки самому подбирать, а не кушать то что дают. Delphi нормально работает только с Win32 да и то криво, если копнуть поглубже. Позорище, Unicode только нормально (коробки) заработал только с D2009, позорище.

Уж лучше Python чем Delphi. По поводу оконной библиотеки - wxPython.


 
DVM ©   (2008-12-10 23:16) [10]


> В С++ нужно библиотеки самому подбирать, а не кушать то
> что дают.

Да я что спорю. Но это и в Delphi возможно вообще то.


> Delphi нормально работает только с Win32 да и то криво,
> если копнуть поглубже

Насчет глубже хотелось бы поподробнее.


> Позорище, Unicode только нормально (коробки) заработал только
> с D2009, позорище.

Это да, но все же заработал.

Под линукс Си однозначно. Он для UNIX родной.


 
iZEN   (2008-12-10 23:18) [11]


> DVM ©   (10.12.08 21:50) [6]
> Правильно, давно пора переходить на рассадник глюков C++
> и тормоз Java!


Java не тормозит. Доказано Tommy.


 
iZEN   (2008-12-10 23:21) [12]

DVM

Прежде чем делать далеко идущие выводы из запущенного в конце 90-х годов апплета, попробуйте испытать у себя вот это "скриптовое" решение:
http://izen.dev.juga.ru/image/FreeBSD-JavaFX-StopWatch.png


 
DVM ©   (2008-12-10 23:22) [13]


> Java не тормозит.

Угу. Он просто работает несколько неспеша.


 
DVM ©   (2008-12-10 23:25) [14]


> iZEN   (10.12.08 23:21) [12]


> Прежде чем делать далеко идущие выводы из запущенного в
> конце 90-х годов апплета

Да я выводы делаю исключительно из своего (в java пока очень небогатого опыта 2 месяца :) Может я и не прав. Но пока все что мне удалось написать самому и все из написанного другими в плане скорости работы меня к сожалению не впечатлило. Ну уступает он в скорости нативным win32 приложениям на том же Delphi.


 
DVM ©   (2008-12-10 23:27) [15]


> iZEN   (10.12.08 23:21) [12]

Ээээ.. а что с этим делать то? Это ж картинка?


 
DVM ©   (2008-12-10 23:32) [16]


> iZEN

И все же, я никогда не соглашусь с тем, что код java выполняемый на виртуальной машине java будет столь же быстр, что и обычный компилируемый код. Да он будет работать быстро на современной машине, да не будет заметных тормозов, но отставание от нативного кода будет и значительное процентов 30-50. Это существенно для многих задач.


 
Плохиш ©   (2008-12-10 23:42) [17]


> Городской Шаман   (10.12.08 22:55) [9]



> В С++ нужно библиотеки самому подбирать, а не кушать то
> что дают. Delphi нормально работает только с Win32 да и
> то криво, если копнуть поглубже. Позорище, Unicode только
> нормально (коробки) заработал только с D2009, позорище.
>

T.e. в c++ вы подбираете библиотеки, а в delphi "кушаете то, что дают". И на основании этого делаете выводы, ну-ну.
Между прочим, Delphi поддерживает юникод ещё, вроде, со второй версии. А vcl, это как раз "то, что дают"


 
DVM ©   (2008-12-10 23:48) [18]


> iZEN   (10.12.08 23:21) [12]


> http://izen.dev.juga.ru/image/FreeBSD-JavaFX-StopWatch.png

Посмотрел. Что могу сказать, красиво. И не тормозит. Но еще могу сказать, что в момент выполнения сего чуда загрузка системы процессом java был от 20 до 50 процентов. Да я такое же напишу на Delphi, что оно будет грузить систему на 0-5 % О DX молчу. Или я чего то не понял в этой демонстрашке?


 
Городской Шаман   (2008-12-11 00:14) [19]


> DVM ©   (10.12.08 23:16) [10]
>
>
> > В С++ нужно библиотеки самому подбирать, а не кушать то
> > что дают.
>
> Да я что спорю. Но это и в Delphi возможно вообще то.


Да? А можно ссылочку на другой, отличный от VCL, GUI-фреймворк для Delphi? А для С++ их около 200, правда нормальных около 10.


> DVM ©   (10.12.08 23:16) [10]
>
> > Delphi нормально работает только с Win32 да и то криво,
> > если копнуть поглубже
>
> Насчет глубже хотелось бы поподробнее.
>

Наберите в google Delphi и Vista... Если Delphi + Vista64 то это вообще песец.


> DVM ©   (10.12.08 23:16) [10]
> Под линукс Си однозначно. Он для UNIX родной.


Только не C, а C++. Если увлекаться на C++ не языковым выпендрёжом, а результатом работы, то это вполне нормальный язык, без всяких страшилок.


 
Городской Шаман   (2008-12-11 00:18) [20]


> Городской Шаман   (11.12.08 00:14) [19]
>
>
> > DVM ©   (10.12.08 23:16) [10]
> >
> >
> > > В С++ нужно библиотеки самому подбирать, а не кушать
> то
> > > что дают.
> >
> > Да я что спорю. Но это и в Delphi возможно вообще то.
>
> Да? А можно ссылочку на другой, отличный от VCL, GUI-фреймворк
> для Delphi? А для С++ их около 200, правда нормальных около
> 10.


Да, еще CLX е пойдёт, так как от него Линуксоиды ржут, пальцем у виска крутят и считают всех Delphi-стов ламерами, так оно работает.


 
DVM ©   (2008-12-11 00:43) [21]


> А можно ссылочку на другой, отличный от VCL, GUI-фреймворк
> для Delphi?

KOL? :) Конечно их почти нет, но это не значит, что они исключены. В конце концов свой написать можно.


> Только не C, а C++

Изначально родным был СИ. И куча софта написано безо всяких плюсов. И сейчас есть куча софта без плюсов. Плюсы потом появились. Собственно я ничего против них не имею.


 
Городской Шаман   (2008-12-11 01:54) [22]


> Noone   (10.12.08 20:47)
>
> Есть такой ?где скачать?


C++, wxWidgets, wxFormBuilder v3.0.

Елси денег не жаль, то
C++, QT.
The price for Qt on Single Platform is 3,695USD/license, and for Multi
OS (including all Win/X11/Mac OS) is 5,295USD/license.


 
iZEN   (2008-12-11 03:32) [23]


> DVM ©   (10.12.08 23:32) [16]
> Да он будет работать быстро на современной
> машине, да не будет заметных тормозов, но отставание от
> нативного кода будет и значительное процентов 30-50. Это
> существенно для многих задач.

Откуда такие цифры 30-50%? Взяты с потолка.

А я тестировал ещё версии Java 1.3.1, 1.4.0, 1.4.2, 1.5 и версии Delphi 6.0, 7.0 на одних и тех же задачах: 1) комбинаторика, 2) различные методы сортировки массивов, 3) конкатенация строк.

Так вот, тесты показали, что
1) и 2) выполняются и там и там одинаково быстро (на уровне погрешности измерений);
в тесте 3) Delphi слила Java"е в три раза!

Современные версии Java 6.0 и 6u11 (1.6.x) гораздо быстрее, чем Java 5.0 (1.5). Даже тестировать неудобно — по ощущениям (глаза, руки) заметно.


 
iZEN   (2008-12-11 03:35) [24]


> Городской Шаман   (11.12.08 00:14) [19]
> Если увлекаться на C++ не языковым выпендрёжом,
> а результатом работы, то это вполне нормальный язык, без
> всяких страшилок.


Чего ж на C++ до сих пор IDE уровня Eclipse не написали? ;)


 
boa_kaa ©   (2008-12-11 03:52) [25]


> iZEN   (11.12.08 03:35) [24]

подсказать несколько или сам догадаешься?


 
iZEN   (2008-12-11 07:04) [26]


> boa_kaa ©   (11.12.08 03:52) [25]
> > iZEN   (11.12.08 03:35) [24]
>
> подсказать несколько или сам догадаешься?

Валяй.


 
iZEN   (2008-12-11 07:05) [27]


> boa_kaa ©   (11.12.08 03:52) [25]
> > iZEN   (11.12.08 03:35) [24]
>
> подсказать несколько или сам догадаешься?

Валяй.


 
Vampire Hunter D.   (2008-12-11 08:13) [28]

iZEN   (11.12.08 03:35) [24]

Я думаю, вы должны знать про CDT.


 
Anatoly Podgoretsky ©   (2008-12-11 09:29) [29]

> Городской Шаман  (10.12.2008 22:50:08)  [8]

Попробуй другую поисковую систему, Гугл попсовый


 
Anatoly Podgoretsky ©   (2008-12-11 09:32) [30]

> DVM  (10.12.2008 23:32:16)  [16]

Вообще то зря не веришь, я тебе обеспечу гигантское торможение на Ассемблере.


 
Anatoly Podgoretsky ©   (2008-12-11 09:35) [31]

> Городской Шаман  (11.12.2008 0:18:20)  [20]

Да им завидно, поэтому они ржут над всеми, считая всех идиотами, кроме себя.


 
Anatoly Podgoretsky ©   (2008-12-11 09:36) [32]

> DVM  (11.12.2008 0:43:21)  [21]

А я имею, поскольку два плюса.


 
Anatoly Podgoretsky ©   (2008-12-11 09:37) [33]

> iZEN  (11.12.2008 3:32:23)  [23]

Стой а не ты ли это утверждал про 1.5 и теперь сливаешь?


 
DVM ©   (2008-12-11 10:30) [34]


> iZEN   (11.12.08 03:32) [23]


> Откуда такие цифры 30-50%? Взяты с потолка.
>
> А я тестировал ещё версии Java 1.3.1, 1.4.0, 1.4.2, 1.5
> и версии Delphi 6.0, 7.0 на одних и тех же задачах: 1) комбинаторика,
>  2) различные методы сортировки массивов, 3) конкатенация
> строк.
>
> Так вот, тесты показали, что
> 1) и 2) выполняются и там и там одинаково быстро (на уровне
> погрешности измерений);
> в тесте 3) Delphi слила Java"е в три раза!


А давай потестируем в работе с графикой и интерфесом пользователя?
Кстати, приведенный тобой пример в [12] уже свидетельствует не в пользу Java.


 
DVM ©   (2008-12-11 10:40) [35]


> iZEN   (11.12.08 03:32) [23]

Простая вещь:

1) Загрузка JPEG 1600*1200 неважно откуда (сеть/файл/ит.д.).
2) Декодирование.
3) Поворот на 90 градусов
4) Уменьшение до 800*600
5) Вывод битмапа на поверхность окна

2-5 повторить 1000 раз.


 
Anatoly Podgoretsky ©   (2008-12-11 12:10) [36]

> DVM  (11.12.2008 10:30:34)  [34]

Ага, там не только секундомер не работает, но и скролл бары тоже.


 
Правильный$Вася   (2008-12-11 12:26) [37]

а у меня знакомый мужик на фортране написал алгоритм, который потом перевел на дельфи
и откомпилировал оба современными компиляторами
и фортрановский работает на порядок быстрее
там чистая математика + консольный/файловый ввод/вывод

и что? это никоим образом не говорит, что что-то из них лучше или хуже
это говорит о том, что для каждой задачи нужны СВОИ ИНСТРУМЕНТЫ, а нете, которые оказались под рукой


 
Городской Шаман   (2008-12-11 12:38) [38]


> Anatoly Podgoretsky ©   (11.12.08 09:35) [31]
>
> > Городской Шаман  (11.12.2008 0:18:20)  [20]
>
> Да им завидно, поэтому они ржут над всеми, считая всех идиотами,
>  кроме себя.


По тому как работают программы на Kylix под современными Linux им не завидно им смешно и грустно. Грустно тем, кто использует эти программы, смешно тем кто наблюдает.

Delphi только для Win32. На Линукс проще портировать программу на C#.NET чем на Delphi.

Да и на Win32 преимущества Delphi не в языке, а программном комплексе:
- Визуальный редактор интегрированный в IDE(Самый удобный из тех что я видел)
- Удобный сode generation/completion что позволяет не горевать по поводу Templates
- Очень удобный интегрированный отладчик, где можно просмотреть значение переменной, наведя на неё курсор. Хотя с многопоточной отладкой у Delphi проблемы, на каждый примерно 10 останов в коде потока виснет всё IDE.

Так что переходя на C++, более вероятно, что придется столкнуться только с этими проблемами, хотя в платных IDE они по большему счёту решены.

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


 
pasha_golub ©   (2008-12-11 13:31) [39]


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

И когда ж сдохнет оно (она, он) это Делфя.


 
Anatoly Podgoretsky ©   (2008-12-11 13:54) [40]

> pasha_golub  (11.12.2008 13:31:39)  [39]

И появится Эльфа


 
Городской Шаман   (2008-12-11 14:17) [41]


> pasha_golub ©   (11.12.08 13:31) [39]
>
>
> > Вывод - Delphi современный FoxPro, где можно быстро в
> одиночку
> > нашкрябать еще один учётный проект для малого бизнеса.
>
>
> И когда ж сдохнет оно (она, он) это Делфя.


Тогда когда и Cobol...


 
Кто б сомневался ©   (2008-12-11 15:29) [42]


> И когда ж сдохнет оно (она, он) это Делфя.


На данный момент существует 2 известных нативных языка С++ и Delphi.
С++ уже потихоньку отмирает, поэтому давайте лучше разрешим Delphi  жить, все таки это хороший конкурент.


 
pasha_golub ©   (2008-12-11 15:44) [43]

Я думал все поймут, что я издеваюсь. Ан нет.

PS Java sucks!


 
tesseract ©   (2008-12-11 15:45) [44]


> На данный момент существует 2 известных нативных языка С++
> и Delphi.


А C / Objective-C, Python (он тоже компилируеться). Уже не известные языки ? С++ умирает с момента выхода в свет, пока попка  живой.


 
Городской Шаман   (2008-12-11 15:55) [45]


> Кто б сомневался ©   (11.12.08 15:29) [42]
>
>
> > И когда ж сдохнет оно (она, он) это Делфя.
>
>
> На данный момент существует 2 известных нативных языка С++
> и Delphi.
> С++ уже потихоньку отмирает, поэтому давайте лучше разрешим
> Delphi  жить, все таки это хороший конкурент.


Вот когда Embacerdo выпустит Delphi для микроконтроллеров, то я задумаюсь над вашими словами.


 
Городской Шаман   (2008-12-11 15:59) [46]

А по поводу языков с возможностью компиляции в нативный код - вот:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada
http://gcc.gnu.org/

Это только один из компиляторов, причём открытый.


 
iZEN ©   (2008-12-11 17:58) [47]


> Vampire Hunter D.   (11.12.08 08:13) [28]
>
> iZEN   (11.12.08 03:35) [24]
>
> Я думаю, вы должны знать про CDT.


Eclipse-CDT? Не поверишь оно на Java написано с элементами JNI-вызовов к нативным компонентам. :O


 
iZEN ©   (2008-12-11 18:09) [48]


> Anatoly Podgoretsky ©   (11.12.08 09:37) [33]
>
> > iZEN  (11.12.2008 3:32:23)  [23]
>
> Стой а не ты ли это утверждал про 1.5 и теперь сливаешь?
>

Что утверждал насчёт 1.5?


> DVM ©   (11.12.08 10:30) [34]
> Кстати, приведенный тобой пример в [12] уже свидетельствует
> не в пользу Java.

Давай исходники — я напишу тест для Java, когда время свободное будет, протестируем.


> DVM ©   (11.12.08 10:30) [34]
> Кстати, приведенный тобой пример в [12] уже свидетельствует
> не в пользу Java.

Тесты показали, что основные свойства динамически сгенерированного кода JIT находятся на том же уровне качества и быстродействия, что и нативный код, полученный после статической компиляции (правда, в Delphi плохой оптимизатор для работы со строковыми данными, а если принять во внимание то, что она работала с однобитной кодировкой Cp1251, а Java с 16-битной UCS2, то разница в скорости конкатенации юникодных строк будет ещё более ужасающей).


> DVM ©   (11.12.08 10:40) [35]
>
>
> > iZEN   (11.12.08 03:32) [23]
>
> Простая вещь:
>
> 1) Загрузка JPEG 1600*1200 неважно откуда (сеть/файл/ит.
> д.).
> 2) Декодирование.
> 3) Поворот на 90 градусов
> 4) Уменьшение до 800*600
> 5) Вывод битмапа на поверхность окна
>
> 2-5 повторить 1000 раз.

http://cerncourier.com/cws/article/cnl/34848
подойдёт? :)


 
iZEN ©   (2008-12-11 18:14) [49]

http://java.sun.com/javaone/sf/2008/articles/gosling_toystory.jsp


 
Городской Шаман   (2008-12-11 18:46) [50]


> iZEN ©   (11.12.08 18:14) [49]
>
> http://java.sun.com/javaone/sf/2008/articles/gosling_toystory.jsp


А слабо Сталкер на Java?


 
Anatoly Podgoretsky ©   (2008-12-11 19:27) [51]


> Что утверждал насчёт 1.5?

Вот это

> Современные версии Java 6.0 и 6u11 (1.6.x) гораздо быстрее,
>  чем Java 5.0 (1.5). Даже тестировать неудобно — по ощущениям
> (глаза, руки) заметно.

Я помню как ты хвалил 1.5, а теперь оказывается даже неудобно.


 
DVM ©   (2008-12-11 21:39) [52]


> iZEN ©   (11.12.08 18:09) [48]


> подойдёт? :)

Не. Я конечно понимаю, что на Java написана куча отличных программ, но хотелось бы просто провести некий синтетический тест типа Delphi vs Java.
Я предложил сравнить графику, т.к. в преимуществе нативного языка в этой области я не сомневаюсь (особенно учитывая, что в ход можно пустить DirectX, Intel IPP и даже CUDA), но можно протестировать и по полной в разных областях. Мне было бы интересно, т.к. с делфи я вобщем то знаком неплохо, а вот Java только только коснулся.


 
iZEN ©   (2008-12-11 23:05) [53]


> Anatoly Podgoretsky ©   (11.12.08 19:27) [51]
> Я помню как ты хвалил 1.5, а теперь оказывается даже неудобно.

Не приписывайте мно того, чего я не говорил!

Уж чего-чего, а Java 5.0 я точно не хвалил. Мне не понравились новые обобщённые типы и введение класса StringBuilder наравне со старым StringBuffer, вместо того, чтобы всю оптимизацию сделать на уровне системного класса String. По-хорошему, класс String надо сделать мутабельным, обеспечить его дескриптором безопасности (чтобы можно было влиять на его мутабельность), а класс StringBuffer объявить "deprecated", и не заниматься ерундой. Поэтому долгое время (до выхода Java 6.0) занимался исключительно Java2 1.4.2.

Java 6.0 ввела такое понятие, как инлайнинг и задействование стэка процессора вместо кучи для инстанцирования короткоживущих объектов. Это в разы ускоряет производительность и экономит память. Кроме того, появились разные сборщики мусора с отличными стратегиями. Определённо, что Java 6.0 (1.6) — действительно инновационная технология, в отличие от "экспериментальной" Java 5.0 (1.5), которая делалась скорее для обкатки новых идей, чем для продакшена.


 
Sapersky   (2008-12-12 16:38) [54]

хотелось бы просто провести некий синтетический тест типа Delphi vs Java.
Я предложил сравнить графику, т.к. в преимуществе нативного языка в этой области я не сомневаюсь


В своё время наткнулся на программу обработки изображений на Java:

http://people.cs.vt.edu/~lithomas/robustestimation/imageprocess.java

Фильтр Гаусса (GaussianSmooth) на Дельфи у меня есть. Если вы сможете запустить Java-код (я вообще не в курсе как это делается) и засечь время - можно сравнить.


 
iZEN ©   (2008-12-12 20:19) [55]


> Sapersky   (12.12.08 16:38) [54]
> Фильтр Гаусса (GaussianSmooth) на Дельфи у меня есть. Если
> вы сможете запустить Java-код (я вообще не в курсе как это
> делается) и засечь время - можно сравнить.

Запустить что, простите? Это библиотечный код. Используется в каком-то приложении непонятно каким образом.


 
DVM ©   (2008-12-12 21:01) [56]


> iZEN ©   (12.12.08 20:19) [55]


> Запустить что, простите?

Взять этот класс и использовать его для гауссовского размытия изображения (тестовое приложение создать). Правда не совсем понятно, что передавать в float [][] inImage, массив бит, но что за массив, какова цветность изображения и т.д.


> Sapersky   (12.12.08 16:38) [54]

Но чтобы сравнить, надо иметь идентичный код (тот же алгоритм так же реализованный) но на Delphi. Он у вас есть? Т.е. он портирован из Java кода или другая реализация?


 
Sapersky   (2008-12-12 21:28) [57]

Правда не совсем понятно, что передавать в float [][] inImage, массив бит, но что за массив, какова цветность изображения и т.д.

Там написано - gray values, т.е. 8 бит.

Но чтобы сравнить, надо иметь идентичный код (тот же алгоритм так же реализованный) но на Delphi. Он у вас есть? Т.е. он портирован из Java кода или другая реализация?

У меня совсем другая.
По-хорошему - да, надо чтобы был идентичный... а то я заранее могу сказать, что этот медленнее моего, потому как используется float вместо byte.
Ну смотрите, что проще - переводить Java-код на Delphi или наоборот. Если надо, подготовлю упрощённую версию своей функции (в текущем виде там много лишнего). Или взять что-нибудь из FastLIB, то же масштабирование картинки (Bilinear, FastResize), или какой-нибудь спецэффект.


 
iZEN   (2008-12-13 12:08) [58]

http://www.stefankrause.net/wp/?p=9


 
iZEN   (2008-12-13 12:14) [59]

Интересный момент:
http://balancer.ru/tech/forum/2008/02/t60021--CHto,gospoda-surovye-S-plus-plus-program.html


 
iZEN   (2008-12-13 15:34) [60]

Вот ещё удивительный ресурс:
http://processing.org/


 
Игорь Шевченко ©   (2008-12-13 15:44) [61]

Я одного не понимаю - чем вы тут меряетесь ?


 
boa_kaa ©   (2008-12-13 19:14) [62]


> Игорь Шевченко ©   (13.12.08 15:44) [61]
>
> Я одного не понимаю - чем вы тут меряетесь ?

кто больше произведет


 
koha!   (2008-12-13 19:47) [63]

C# - оказалася быстрее делфи ...
- вот сравнивал вызоф 1000000 функции StringReplace
результаты:
C# - ~700 ms
D2006 = ~2700 - 2800 ms
моя самопальня функция "StrReplace" в замен В2006 = ~2200 - 2400 ms  

private void button1_Click(object sender, System.EventArgs e)
{
 int bgnTime = System.Environment.TickCount;
 string Appdata = System.Environment.GetEnvironmentVariable("Appdata");
 string dubleAppdata = "";
 for (int i = 0; i < 1000000; i++)
 {
   dubleAppdata = Appdata.Replace("\\","\\\\");
 }
 int FullTime = System.Environment.TickCount-bgnTime;
 textBox1.Text = dubleAppdata + " "+FullTime.ToString();
}

procedure TForm1.Button3Click(Sender: TObject);
var
 BgnTime,LastTime,TestTime: Integer;
 i: integer;
 S, DubleAppData: String;
begin
 BgnTime:=GetTickCount;
 S:=GetEnvironmentVariable("AppData");
 for i:=1 to 1000000 do begin
   StringReplace(S,"\","\\",[rfReplaceAll]);
 end;
 LastTime := GetTickCount;
 TestTime := LastTime-BgnTime;
 //if TestTime > 1000 then TestTime := TestTime div 1000;
 Memo1.Lines.Add("End test StringReplace: time = "+IntToStr(TestTime)+ " mc");
end;

function StrReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
var
 SLen,  NPLen,Index, Count : Integer;
 temp, SearchStr, Patt  : String;
begin
 Count  := 1;
 Index  := 1;
 SLen   := Length(S);
 NPLen  := Length(OldPattern);
 if (S = "") or (OldPattern = "") then Exit;
 Setlength(temp,NPLen);

 if rfIgnoreCase in Flags then
 begin
   SearchStr := AnsiUpperCase(S);
   Patt      := AnsiUpperCase(OldPattern);
 end else
 begin
   SearchStr := S;
   Patt      := OldPattern;
 end;

 While true do begin

   if (Pred(Count)+NPLen) > SLen then begin
     Result:=Result+Copy(SearchStr,Index,(Count+NPLen)-Index);
     Break;
   end;

   Move(SearchStr[Count],temp[1],NPLen);
   if temp = Patt then begin
     Result:=Result+copy(SearchStr,Index,count-Index)+NewPattern;
     inc(count,NPLen);
     Index:=count;
     if Not (rfReplaceAll in Flags) then begin
       Result:=Result+Copy(SearchStr,Index,(Count+NPLen)-Index);
       Break;
     end;
     continue;
   end;
   inc(count);
 end;
end;


 
koha!   (2008-12-13 20:04) [64]

Может быть Делфа и лучше всех, но знают об этом только вы - "мастера", а остальные, например, работодатели просто посылают в Ж..пу дляних дешевле купить VS 2005 со всеми пребамбасиками чем не понятно за что блатить VC2005$ < BDS$
VC 2005 в комблекте предлагает заменшие гроши еще и Vista для тестировани и Windows server для тестирования и MSSQL сервер для тестирования и все это предачу гдето ~ за 2500$ А что предлагает Codegear за теже гроши? скромно D7? и все?


 
Узурап   (2008-12-13 20:14) [65]


> Я одного не понимаю - чем вы тут меряетесь ?


ИЗЕН сейчас еще и сказки о фрибсд достанет.


 
palva ©   (2008-12-13 20:26) [66]

Если вернуться к сабжу, то ответ на вопрос очевиден. Производителем Delphi является Codegear, а эта контора Delphi под Ubuntu не производит. Никакая другая фирма производить продукт под той же торговой маркой не имеет права. Следовательно Delphi под Ubuntu нет.


 
Узурап   (2008-12-13 20:33) [67]


> Следовательно Delphi под Ubuntu нет.


оно и не надо. убунту тоже не надо
под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)
если хватит денег, или, если открытый проект - QTCreator+Qt
также всякие скриптовые языки и ява


 
Городской Шаман   (2008-12-13 21:25) [68]


> Узурап   (13.12.08 20:33) [67]


Если ну нужно угламереного интерфейса то достаточно C++ и wxWidgets + визуальный редактор, там их несколько - выберите по вкусу.

А С++ с "магией" не хуже delphi по удобству разработки.


 
@!!ex ©   (2008-12-13 22:42) [69]

> под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)

Всегда интересовало.. что такое "юзабельно"?


 
Городской Шаман   (2008-12-13 22:46) [70]


> @!!ex ©   (13.12.08 22:42) [69]
>
> > под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)
>
> Всегда интересовало.. что такое "юзабельно"?


За дебагер в Lazarus нужно заставлять этих программистов писать на асме ПО для бухгалтерии. Вот это неюзабельно. Кроме того проще притащить вместе с программой jdk чем тащить этого монстра.

Хотите кросплатформенности - берите java или c++.


 
Узурап   (2008-12-14 14:48) [71]


> Всегда интересовало.. что такое "юзабельно"?

достаточно увидеть лазарус, чтобы понять.
быстро сделать что-то простое оно пойдет, для проектов уровня выше "хелло мир" - нет.


 
@!!ex ©   (2008-12-14 16:02) [72]

> [71] Узурап   (14.12.08 14:48)

Да ну...
дебагер там и правда отстойный... Благо можно другие дебагеры использовать.
А все остальное - вполне рабочее.


 
Узурап   (2008-12-14 20:02) [73]

Я не говорил, что не рабочее.
Но после eclipse и qtcreator`a оно уныло очень.


 
wicked ©   (2008-12-15 00:45) [74]


> Кроме того проще притащить вместе с программой jdk чем тащить
> этого монстра.

ага, тащи
то-то же, таскунов развелось :(


 
atruhin ©   (2008-12-15 12:14) [75]


> - вот сравнивал вызоф 1000000 функции StringReplace
> результаты:
> C# - ~700 ms
> D2006 = ~2700 - 2800 ms
> моя самопальня функция "StrReplace" в замен В2006 = ~2200
> - 2400 ms  

А вот я сравнил:
стандартная StringReplace - 1890
моя реализация StringReplace - 187
Так что дело не на чем писать, а как.


 
Cobalt ©   (2008-12-15 14:05) [76]


> atruhin ©   (15.12.08 12:14) [75]
> А вот я сравнил:
> стандартная StringReplace - 1890
> моя реализация StringReplace - 187


А можно на эту функцию взглянуть?


 
@!!ex ©   (2008-12-15 14:08) [77]

> [76] Cobalt ©   (15.12.08 14:05)

да там небось чистый асемблер. :)
так что дело не на чем писать.. а на чем писать на ассемблере. :)


 
Anatoly Podgoretsky ©   (2008-12-15 16:59) [78]

> @!!ex  (15.12.2008 14:08:17)  [77]

Не мешало бы взглянуть на исходные данные и методику теста.


 
Sapersky   (2008-12-15 17:08) [79]

так что дело не на чем писать.. а на чем писать на ассемблере

По моему опыту, дельфийский компилятор не так плох, как о нём принято думать... хотя, если работаешь в основном с floating-point кодом, у тебя вполне может быть противоположный опыт.

По StringReplace:
http://www.fastcode.dk/fastcodeproject/fastcodeproject/10.htm
Кстати, разница между asm (Blended, 14.1) и pas (13.8) - всего 2%.

В BDS2006 и далее фасткодовские функции (все или нет - не в курсе) используются в качестве стандартных.


 
Sha ©   (2008-12-15 17:16) [80]

> Cobalt ©   (15.12.08 14:05) [76]

http://new.fastcodeproject.org/fastcode-challenges/challenges/37-challenges/45-ansi-stringreplace.html

разница 9-15 раз в зависимости от процессора


 
atruhin ©   (2008-12-15 17:22) [81]

> А можно на эту функцию взглянуть?

Функцию писал сам, но саму идею однопроходного поиска с сохранением позиций в стеке, где то подсмотрел.
scPosStr, scCopyMem ассемблерные ускоренные аналоги стандартных, где то брал готовые.

function scReplaceStr(const SourceString, FindString, ReplaceString: string): string;
var
 P,PS: PChar;
 L,L1,L2,Cnt: Integer;
 I,J,K,M: Integer;
begin
 L1 := Length(FindString);
 Cnt := 0;
 I := scPosStr(FindString,SourceString,1);
 while I <> 0 do begin
   Inc(I,L1);
   asm
     PUSH    I
   end;
   Inc(Cnt);
   I := scPosStr(FindString,SourceString,I);
 end;
 if Cnt <> 0 then begin
   L := Length(SourceString);
   L2 := Length(ReplaceString);
   J := L+1;
   Inc(L,(L2-L1)*Cnt);
   if L <> 0 then begin
     SetString(Result,nil,L);
     P := Pointer(Result);
     Inc(P, L);
     PS := Pointer(LongWord(SourceString)-1);
     for I := 0 to Cnt-1 do begin
       asm
         POP     K
       end;
       M := J-K;
       if M > 0 then begin
         Dec(P,M);
         scCopyMem(@PS[K],P,M);
       end;
       Dec(P,L2);
       scCopyMem(Pointer(ReplaceString),P,L2);
       J := K-L1;
     end;
     Dec(J);
     if J > 0
       then scCopyMem(Pointer(SourceString),Pointer(Result),J);
   end else begin
     Result := "";
     for i:=1 to Cnt do asm pop K end;
   end
 end else Result := SourceString;
end;


 
atruhin ©   (2008-12-15 17:24) [82]

> [79] Sapersky   (15.12.08 17:08)
> В BDS2006 и далее фасткодовские функции (все или нет - не
> в курсе) используются в качестве стандартных.

Не знаю откуда информация, но я сравнивал в RadStudio 2007 со свеми апдейтами


 
Sapersky   (2008-12-15 17:48) [83]

Сейчас посмотрел 2006-й - да, похоже, StringReplace не меняли.
Судя по system.pas - от фасткода взяли Move, FillChar, Pos, _lldiv (64-bit signed division), возможно, есть ещё что-то в других модулях.



Страницы: 1 2 3 вся ветка

Текущий архив: 2009.02.08;
Скачать: CL | DM;

Наверх




Память: 0.71 MB
Время: 0.022 c
2-1230386119
studenttgata
2008-12-27 16:55
2009.02.08
как объявить константу в записи record


15-1228904376
keymaster
2008-12-10 13:19
2009.02.08
Проблема с cxGrid и multiselect


2-1230528308
charoey_mag
2008-12-29 08:25
2009.02.08
Доступ к AD через ADO


8-1190348540
BAHO_KEX
2007-09-21 08:22
2009.02.08
Как добавить в ListBox имена файлов


15-1229203553
Riply
2008-12-14 00:25
2009.02.08
Хочу сказать спасибо :)