Конференция "KOL" » Длина потока...
 
  • Lirk (15.06.09 22:46) [0]
    Может кто обьяснит, почему размер потока ограничен значением типа
    Cardinal, в то время как в VCL это тип int64?
    Это недогляд или принипиальное ограничение?
  • D[u]fa (16.06.09 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 (16.06.09 13:33) [2]
    Включал я её. Ноль эмоций. И вообще много функций не работает. Например условный поиск в строке.
  • D[u]fa (16.06.09 16:39) [3]
    Как понять ноль эмоций?) ребилд делал? что за условный поиск? конкретно какая функция
  • Lirk (16.06.09 17:13) [4]
    мдя про ребилд забыл...
    Ну хорошо. Получил я значение типа int64. Как его первести в строку?
    В VCL это делвет IntToStr. А в KOL?
  • MTsv DN (16.06.09 18:13) [5]
    RTFM!!!
  • Lirk (16.06.09 18:30) [6]
    Читаю. Вот цитата из книги по KOL
    В Delphi, начиная с версии 5, появился тип данных Int64, для работы с 8-байтными целыми числами. Но в более ранних версиях Delphi этого типа данных не было. Для того, чтобы возможно было с ними работать и в старших версиях Delphi, в KOL вводится свой собственный тип данных I64 и разработан набор функций для работы с этим типом данных:
    ................................................
    ................................................
    Никто не мешает, тем не менее, использовать встроенный в Delphi младших версий тип данных Int64 (но для преобразования таких чисел в строку и обратно я рекомендую все-таки использовать функции Int64_2Str, Str2Int64, выполняя соответствующие приведения типа данных). Использование прочих вышеуказанных функций имеет смысл, только если проект разрабатывается на Delphi 3 или 2.

    Вот всё что скзано.
    "выполняя соответствующие приведения типа данных."
    А где функция привидения типов?
    Неужели так долго её написать и вставить в библиотеку, а то вообще ввести символ условной компиляции котрый напямую позволит использовать int64?
    То что приводить надо это я и так понял и функцию написал...
    Но у вас что за трмоз? Или уже всё это есть а я не знаю?
  • Дмитрий К © (16.06.09 18:34) [7]

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

    Интересно было бы посмотреть.
  • Lirk (16.06.09 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 © (16.06.09 19:47) [9]
    Приведение типа, или typecast, описан в справке по Delphi. I64(i), где i:Int64, и Int64(j), где j: I64. Никаких функций для этого не требуется, так как внутренняя структура этих типов данных полностью совпадает. Никто не мешает использовать Int64, и там, где требуется I64, делать typecast. Символ компиляции можно, но их уже и так очень много. Кроме того, все эти IFDEF/ENDIF увеличивают число строк кода, что мешает удерживать размер kol.pas в пределах 64К строк (ограничения в компиляторе, дальше проблемы с отладчиком).

    О каких тормзах (без О) речь?
  • Lirk (16.06.09 20:13) [10]
    Да... но только в VCL
    В KOL это typecast не работает. Проверьте если не верите.
  • Lirk (16.06.09 20:37) [11]
    А на счёт тормозов, извените за то что вышла опечатка.

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

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

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

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

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

    пробовал StrSatisfy( s, p )
    строка "кот" маска "к?т"
    выдало false
    И таких примеров можно привести много.
  • Lirk (16.06.09 20:45) [12]
    Что касается 64К строк. А почему бы не разбить библиотеку на несколько файлов? Все контролы с формой в одну, Потоки в другую
    Приведение типов в третью...
  • D[u]fa (17.06.09 10:42) [13]
    TBitmap - объект. PBitmap - указатель на объект, теперь понятнее?
    StrSatisfy - работает на ура (лично у меня), конкретно покажи пример кода с ошибкой.


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

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


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

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


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

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


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


    Согласен лишь с тем что обновлений давно не было. Надо "скинуться" фиксами\дополнениями и зарелизить новую версию. Про какие кучи ошибок идет речь - не понимаю...
  • Vladimir Kladov © (18.06.09 19:31) [14]
    Ага, я вот нашел недавно один баг: неправильно работал TCanvas.Arc. Жутко критично.
  • SPeller © (23.06.09 02:40) [15]

    > Lirk

    Ты забыл одну вещь - KOL бесплатен и никто денег за его развитие не получает. В отличие от того же VCL. Поэтому твой гонор в сторону "сделайте то, сделайте вот это" крайне неуместен, а на фоне плохого понимания сути KOL и некоторых элементарных основ дельфей выглядит еще и глупо. Никто не заявлял на главной странице "изучить KOL легко". Однако многие его изучили. И у тебя получится. Если захочешь.
  • Dy1 (28.01.10 19:44) [16]
    > Vladimir Kladov © (18.06.09 19:31) [14]
    > Ага, я вот нашел недавно один баг: неправильно работал TCanvas.Arc

    давно :)
  • Vladimir Kladov © (29.01.10 19:15) [17]
    А нужен? В принципе, вызывается Windows.Arc(Canvas.Handle, ... и все работает. Но можно и обновить, если очень хочется.
 
Конференция "KOL" » Длина потока...
Есть новые Нет новых   [134431   +11][b:0][p:0.001]