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

Вниз

Длина потока...   Найти похожие ветки 

 
Lirk   (2009-06-15 22:46) [0]

Может кто обьяснит, почему размер потока ограничен значением типа
Cardinal, в то время как в VCL это тип int64?
Это недогляд или принипиальное ограничение?


 
D[u]fa   (2009-06-16 09:57) [1]

Есть такая вещь:
 STREAM_LARGE64        - turns on support of streams (and files) of size larger
                         then 4 Gbytes. Data type Int64 used for parameters of
                         the most of methods and functions in such case. (Note:
                         Int64 was introduced since Delphi5, so in earlier Delphi
                         versions using this symbol is not possible).


 
Lirk   (2009-06-16 13:33) [2]

Включал я её. Ноль эмоций. И вообще много функций не работает. Например условный поиск в строке.


 
D[u]fa   (2009-06-16 16:39) [3]

Как понять ноль эмоций?) ребилд делал? что за условный поиск? конкретно какая функция


 
Lirk   (2009-06-16 17:13) [4]

мдя про ребилд забыл...
Ну хорошо. Получил я значение типа int64. Как его первести в строку?
В VCL это делвет IntToStr. А в KOL?


 
MTsv DN   (2009-06-16 18:13) [5]

RTFM!!!


 
Lirk   (2009-06-16 18:30) [6]

Читаю. Вот цитата из книги по KOL
В Delphi, начиная с версии 5, появился тип данных Int64, для работы с 8-байтными целыми числами. Но в более ранних версиях Delphi этого типа данных не было. Для того, чтобы возможно было с ними работать и в старших версиях Delphi, в KOL вводится свой собственный тип данных I64 и разработан набор функций для работы с этим типом данных:
................................................
................................................
Никто не мешает, тем не менее, использовать встроенный в Delphi младших версий тип данных Int64 (но для преобразования таких чисел в строку и обратно я рекомендую все-таки использовать функции Int64_2Str, Str2Int64, выполняя соответствующие приведения типа данных). Использование прочих вышеуказанных функций имеет смысл, только если проект разрабатывается на Delphi 3 или 2.

Вот всё что скзано.
"выполняя соответствующие приведения типа данных."
А где функция привидения типов?
Неужели так долго её написать и вставить в библиотеку, а то вообще ввести символ условной компиляции котрый напямую позволит использовать int64?
То что приводить надо это я и так понял и функцию написал...
Но у вас что за трмоз? Или уже всё это есть а я не знаю?


 
Дмитрий К ©   (2009-06-16 18:34) [7]


Lirk   (16.06.09 18:30) [6]
> и функцию написал...

Интересно было бы посмотреть.


 
Lirk   (2009-06-16 19:05) [8]

Пожалуста

Function Int64_2I64(a_:int64):I64;
var
v:integer;
begin
v:=a_;
result.Lo:=v;
result.Hi:= a_ shr 32;
end;

var
STR_:String;
STR_:= int64_2str(Int64_2I64(9000000000));


 
Vladimir Kladov ©   (2009-06-16 19:47) [9]

Приведение типа, или typecast, описан в справке по Delphi. I64(i), где i:Int64, и Int64(j), где j: I64. Никаких функций для этого не требуется, так как внутренняя структура этих типов данных полностью совпадает. Никто не мешает использовать Int64, и там, где требуется I64, делать typecast. Символ компиляции можно, но их уже и так очень много. Кроме того, все эти IFDEF/ENDIF увеличивают число строк кода, что мешает удерживать размер kol.pas в пределах 64К строк (ограничения в компиляторе, дальше проблемы с отладчиком).

О каких тормзах (без О) речь?


 
Lirk   (2009-06-16 20:13) [10]

Да... но только в VCL
В KOL это typecast не работает. Проверьте если не верите.


 
Lirk   (2009-06-16 20:37) [11]

А на счёт тормозов, извените за то что вышла опечатка.

Что касается самих тормозов... Последнее обновление было давно.
Ошибок куча. На сайте много битых ссылок. Никому ничего не надо.

Вот вы к примеру выложили модуль GIF. А где сжатие? Стандартный модуль для Delphi его включает.

Книга заморожена. И к ней тоже много вопросов.
Или я чего-то не понимаю... Например про типы. В заголвке стоит TBitmap
А речь идёт о PBitmap.

Вот цитата стр.53

Объект растрового изображения объектного типа TBitmap создается конструкторами NewBitmap( W, H ) - создает "зависимое от устройства" растровое изображение (DDB - Device Dependent Bitmap) ширины W и высоты H пикселей;
И так везде, с каждым типом

пробовал StrSatisfy( s, p )
строка "кот" маска "к?т"
выдало false
И таких примеров можно привести много.


 
Lirk   (2009-06-16 20:45) [12]

Что касается 64К строк. А почему бы не разбить библиотеку на несколько файлов? Все контролы с формой в одну, Потоки в другую
Приведение типов в третью...


 
D[u]fa   (2009-06-17 10:42) [13]

TBitmap - объект. PBitmap - указатель на объект, теперь понятнее?
StrSatisfy - работает на ура (лично у меня), конкретно покажи пример кода с ошибкой.


> И таких примеров можно привести много.

Пожалуйста, в студию =)


> Что касается 64К строк. А почему бы не разбить библиотеку
> на несколько файлов? Все контролы с формой в одну, Потоки
> в другую
> Приведение типов в третью...

обсуждалось неоднократно... но если вкратце - переноса не будет =)


> Вот вы к примеру выложили модуль GIF. А где сжатие? Стандартный
> модуль для Delphi его включает.

Не смотрел этот модуль.. Дык сжатие реализовано, но не включено? или не реализовано и надо чтоб кто-то реализовал?


> Что касается самих тормозов... Последнее обновление было
> давно.
> Ошибок куча. На сайте много битых ссылок. Никому ничего
> не надо.


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


 
Vladimir Kladov ©   (2009-06-18 19:31) [14]

Ага, я вот нашел недавно один баг: неправильно работал TCanvas.Arc. Жутко критично.


 
SPeller ©   (2009-06-23 02:40) [15]


> Lirk

Ты забыл одну вещь - KOL бесплатен и никто денег за его развитие не получает. В отличие от того же VCL. Поэтому твой гонор в сторону "сделайте то, сделайте вот это" крайне неуместен, а на фоне плохого понимания сути KOL и некоторых элементарных основ дельфей выглядит еще и глупо. Никто не заявлял на главной странице "изучить KOL легко". Однако многие его изучили. И у тебя получится. Если захочешь.


 
Dy1   (2010-01-28 19:44) [16]

> Vladimir Kladov © (18.06.09 19:31) [14]
> Ага, я вот нашел недавно один баг: неправильно работал TCanvas.Arc

давно :)


 
Vladimir Kladov ©   (2010-01-29 19:15) [17]

А нужен? В принципе, вызывается Windows.Arc(Canvas.Handle, ... и все работает. Но можно и обновить, если очень хочется.



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

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

Наверх




Память: 0.51 MB
Время: 0.005 c
2-1433112204
Германн
2015-06-01 01:43
2017.02.05
IPersistFile::Save method


1-1347622892
Docenko
2012-09-14 15:41
2017.02.05
Как использовать TIWExchangeBar (TMS IW)


1-1348130067
ТС
2012-09-20 12:34
2017.02.05
Указатель на шаблонный тип в шаблонном интерфейсе


11-1245091617
Lirk
2009-06-15 22:46
2017.02.05
Длина потока...


8-1240415648
noH@ker
2009-04-22 19:54
2017.02.05
Кеширование графиков большого объема