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

» Вопросы по Embarcadero RAD Studio XE5-XE8,10.x(Seattle, Berl

Автор: Sdbfnew
Дата сообщения: 01.06.2014 12:42

Цитата:
dbGo есть в Профе, и лицензия тоже не запрещает.


А причём тут лицензия от майкрософт?

Речь идёт о разных редакциях XE6 и их ограничениях, в том числе на СЕТЕВЫЕ соединения к БД!!!!!
Автор: AlekXL
Дата сообщения: 02.06.2014 09:17
до меня не доходит:
смотрите, в документации сказано, что TPath.GetAttributes можно вызывать и на файлах и на папках:
Call GetAttributes to obtain the attributes of a given file or directory
но программа

Код:
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
System.SysUtils,System.IOUtils;
var selfn:string;
begin
try
selfn:=ParamStr(0);
TPath.GetAttributes(selfn)
{ TODO -oUser -cConsole Main : Insert code here }
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Автор: Alexey_Gawrilow
Дата сообщения: 02.06.2014 11:35
Sdbfnew

Цитата:
А причём тут лицензия от майкрософт?

При том, что над ADODB производитель Delphi власти не имеет.
И с ним можно работать в любой версии Delphi.

В поставке есть несколько движков для работы с DB.
Некоторые из них устаревшие и поставляются для поддержки существующего кода.

BDE
- сильно deprecated, поставляется и используется как есть,
- для новых проектов не использовать ни в коем случае
- для SQL не использовать ни в коем случае
- но неплохо для локальных таблиц в 1995 году
- базируется на внешних драйверах + громоздкая локальная инфраструктура

dbGo
- закрывает стек ADO-DB(OleDB) от Microsoft
- вполне себе ничего
- базируется на внешних драйверах
- у меня к нему претензии были только для Oracle - зависит от провайдера - плюс-на минус.

dbExpress
- новый(старый ) вариант Universal Data Access Layer
- базируется на внешних драйверах
- попадает под ограничения редакций - dll не будет или будут учитывать ограничения
- версия DBX4 - очень хорошо, если бы не FireDAC

InterBase Express (IBX)
- только Interbase и старые версии FireBird

FireDAC
- крайняя редакция (UDAL'ась на славу от производителя Delphi(начиная с XE3 ?)
- лицензированая, в девичестве известная как AnyDAC, в сравнении с DBX: быстрее, выше, сильнее
- базируется на внутренних драйверах
- попадает под ограничения редакций - просто не будет нужных модулей.
- на текущий момент претезия только одна - выпиливание поддержки FreePascal как конкурента

В любом случае, никто не сможет запретить взять альтернативную библиотеку.
- $ UniDAC
- Synopse mORMot
- ZEOS
- UIB раньше жил здесь, как отдельный проект есть на SourceForge, также живет как часть JVCL
- обвязки над ODBC, ADO - тысячи их!
- нативный доступ - тысячи их!

С недавних(вчера-позавчера ) ADODB(OLEDB) объявлен MS deprecated для MSSQL и только для него:
[url=http://blogs.msdn.com/b/adonet/archive/2011/09/13/microsoft-sql-server-oledb-provider-deprecation-
announcement.aspx]Microsoft SQL Server OLEDB Provider Deprecation[/url]
Microsoft Aligning with ODBC
Microsoft is Aligning with ODBC for Native Relational Data Access
Microsoft is Aligning with ODBC for Native Relational Data Access - FAQ

Вкратце: используйте SQL native client или ODBC.
Автор: Sdbfnew
Дата сообщения: 02.06.2014 11:55
Alexey_Gawrilow

Спасибо за содержательный ответ!
Автор: AlekXL
Дата сообщения: 02.06.2014 13:48
а какая функция работает в современных delphi так же ,
как классической ф-я chr?
Автор: GeXamin
Дата сообщения: 02.06.2014 14:49
AlekXL ф-я chr прекрасно работает в Delphi XE4.
Автор: Medium
Дата сообщения: 02.06.2014 14:51
AlekXL
Всё та же классическая chr. По-крайней мере, в XE5.
Автор: AlekXL
Дата сообщения: 02.06.2014 15:40
chr возвращает WideChar, а мне нужна AnsiChar... Перегрузка по возрату не работает, насколько мне известно..
---
еще вопросик: возможно ли сделать так,чтобы компилятор при неявном преобразовании WideString<->UnicodeString (оба направления) выдавал Warning, любой, или ошибку??
Автор: Erazor84
Дата сообщения: 02.06.2014 20:02
AlekXL
Не понял, в чём проблема написать
... := AnsiChar(..);
Автор: dred2k
Дата сообщения: 03.06.2014 06:34
AlekXL

Цитата:
при неявном преобразовании WideString<->UnicodeString (оба направления)


Я дико извиняюсь, но разве WideString по жизни не был уникодным ?
Он еще и COM-овский, совместим со всей виндой. Хороший тип.
Автор: AlekXL
Дата сообщения: 04.06.2014 07:27

Цитата:
Я дико извиняюсь, но разве WideString по жизни не был уникодным ?
Он еще и COM-овский, совместим со всей виндой. Хороший тип.

WideString хуже Unicodestring: вроде нет у него подсчета ссылок, и он вроде не поддерживается на остальных платформах. Я портирую код с классической дельфи, который за счет WideString, TntDelphi был юникодным -- на на XE6.
Множество костылей юникодных нужно убрать. Вот для чего нужен Warning
Автор: dred2k
Дата сообщения: 04.06.2014 07:45
AlekXL
Ясно.
Насчет ссылок WideString - они есть, и это одна из ключевых особенностей. Можно смело между модулями гонять и т.п.
Автор: AlekXL
Дата сообщения: 04.06.2014 07:55
еще вопросик: есть ли в RTL платформо-независимая функция case-insensitive сравнения строк, работающая 100% процентов для любого языка?

Я вижу чисто AnsiCompareText, но там написано "The comparison operation is controlled by the current locale".
CompareText еще хуже, судя по коду.
Автор: qwertEHOK
Дата сообщения: 04.06.2014 08:11
поставил XE6
пути в Library серые


Подскажите пожалуйста какие должны быть?
Автор: X11
Дата сообщения: 04.06.2014 09:12

Цитата:
еще вопросик: есть ли в RTL платформо-независимая функция case-insensitive сравнения строк, работающая 100% процентов для любого языка?


Почитай про CompareStr и CompareString



Цитата:
AnsiCompareText

http://articles.org.ru/delphispr/AnsiCompareText.php


Ещё есть SameText
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_SameText@string@string.html

SameText compares S1 and S2 and returns true if they are equal. SameText is not case sensitive and is not affected by the current locale.
Автор: RuXandr
Дата сообщения: 04.06.2014 10:21
qwertEHOK, я замечал еще с XE3 что если в пути есть $(Platform) то путь будет серый, но при этом работает павильно!
Автор: kaz_av
Дата сообщения: 04.06.2014 16:07
dred2k

Цитата:
Насчет ссылок WideString - они есть, и это одна из ключевых особенностей. Можно смело между модулями гонять и т.п.

WideString не имеет счетчика ссылок. см. help: Internal Data Formats.
Автор: dred2k
Дата сообщения: 04.06.2014 17:19
kaz_av

Мда, возможно. Но выделяет его не дельфя, эт точно.

Код:
WideString is also useful when working with Microsoft's Component Object Model (COM). WideString values are easily converted to or from the BSTR values used in COM.
Автор: Frodo_Torbins
Дата сообщения: 04.06.2014 22:06
AlekXL
Из какого юнита берется AnsiCompareText, из AnsiStrings или SysUtils/StrUtils? Если из AnsiStrings, то конечно могут быть проблемы. Если же берется версия из SysUtils то все намного лучше, ибо она юникодная. Хотя юникодные алгоритмы сравнения тоже бывают разные. AnsiCompareText вызывает виндовую CompareString с параметром LOCALE_USER_DEFAULT - тоесть алгоритм сравнения строк зависит от текущей локали. Если же вас и это не устраивает, то наверное стоит воспользоватся CompareStringEx напрямую.
Автор: Erazor84
Дата сообщения: 05.06.2014 00:18
qwertEHOK

Цитата:
поставил XE6 пути в Library серы

То же самое, но при этом всё работает нормально. Думаю, не нужно париться
Автор: kaz_av
Дата сообщения: 05.06.2014 22:28
У SMS будет бесплатный компилятор командной строки. Кто-нибудь видит какие-либо области его применения, учитывая, что RTL они отдавать бесплатно не собираются?
Автор: sergionn
Дата сообщения: 06.06.2014 07:46

Цитата:
Кто-нибудь видит какие-либо области его применения

они в каком то своем замкнутом пространстве живут:
100% совместимости с Delphi для переноса проектов - нет
контролов для нормальной работы - нет
нормального сообщества - нет
активности на форуме - тоже нет
стабильности у среды - нет
Какой-то странный pr - ход с компилером, кому он вообще "сперся" без rtl и тем более контролов???? Тем паче что в вебе присутствует огромное количество фреймворков с полноценными ui сетами, серверными бакендами и т.п. Не понимаю....

p.s. особенно позабавило то, что она там "буровили" про обучение на голом компилере - как будто мы вернулись в 80-е, где кроме приглашающего курсора с текстом аля: "введите количество сторон многоугольника:", ничего не было,
когда они уже свои мозги перенесут в современный мир.......
Автор: kaz_av
Дата сообщения: 06.06.2014 10:03
sergionn

Цитата:
кому он вообще "сперся" без rtl и тем более контролов?

Без контролов еще можно понять, но без RTL...
Автор: alekc2008
Дата сообщения: 07.06.2014 21:56
WideString is also useful when working with Microsoft's Component Object Model (COM). WideString values are easily converted to or from the BSTR values used in COM.
Автор: AlekXL
Дата сообщения: 11.06.2014 04:26

Цитата:
WideString is also useful when working with Microsoft's Component Object Model (COM). WideString values are easily converted to or from the BSTR values used in COM.

там вообще никакой конверсии не происходит. WideString - это BSTR с высокоуровневой оберткой. Но вопрос не об этом: вопрос, как (начисто)
сломать совместимость WideString с UnicodeString в Windows?

X11

Цитата:
Ещё есть SameText
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_SameText@string@string.html

SameText compares S1 and S2 and returns true if they are equal. SameText is not case sensitive and is not affected by the current locale.

чушь

Код:
CompareText('Йцукен', 'йцукен');
Автор: Frodo_Torbins
Дата сообщения: 11.06.2014 16:04
AlekXL
Тогда разве что ICU с собой таскать. Древняя обертка для нее есть на Торри: http://www.torry.net/authorsmore.php?id=6757 Кроме того, в последних версиях делфей RTL также умеет ее использовать, но я не в курсе в каких случаях включен дефайн USE_LIBICU.

Цитата:
если знаете, -- предложите вариант посложнее
Типа сравнения 'и'#774'цукен' и 'йцукен'? Или о чем вы?
Автор: kaz_av
Дата сообщения: 12.06.2014 10:13
Бесплатный AppMethod таки будет.
Автор: HeMet
Дата сообщения: 12.06.2014 10:27

Цитата:
Бесплатный AppMethod таки будет.

Ну и хорошо. А если при этом ещё и исходники будут, то ещё лучше. Мечты-мечты
Автор: AlekXL
Дата сообщения: 12.06.2014 14:44

Цитата:
Древняя обертка для нее есть на Торри: http://www.torry.net/authorsmore.php?id=6757

ссылка на скачивание протухла, как и офсайт. еле-еле в гугле нашел. Надо бы нам создать отстойник для freeware abandonware. Гуглодрайв, ЯД или что-то.

Добавлено:
пожалуйста, додавите япошку:
http://qc.embarcadero.com/wc/qcmain.aspx?d=125396
Автор: Frodo_Torbins
Дата сообщения: 12.06.2014 21:57

Цитата:
ссылка на скачивание протухла, как и офсайт. еле-еле в гугле нашел.

Офсайт умер, это да, а вот напрямую с Торри нормально скачалось.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129

Предыдущая тема: Отмена встречи в Outlook из Excel VBA


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