Библиотека программирование, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

WH_CBT
Распахнуть окно, только как?
Показать все форматы данных сразу
Как создать отдельный Application, для второго (т.с.) окна ?
ShellListView
Интеграция Delphi и Fortran
Имя изменённого файла., Всё про изменение файловой системы.
Работа с Indy, Не могу соединиться с сервером
Модальные и не модальные окна
Прослема с BlockRead
Как бороться с Paradox?, Ошибка: "Lock file has grown too large"
Проблемы с интерфейсом dll
выравнивание Label, по правому углу
Размер Bitmapa, Как его определить?
Помогите угробить ОЗУ, ОЗУ
Блокировка, Прога для блокировки запуска
Падает Midas сервер, ... при солидном запросе
Создание программного объекта
"сетевая Грабилка", делов то... :)
Работа с TADOQuery, Ускорить подключение?
передача сложной структуры через сокеты
Как Вы относитесь к курящим девушкам?
Как перехватить звук Windows
Как програмно нажать кнопку?, Пример кода
Как узнать IP-адрес, удаленного компьютера
Extended -> TColor
Tree с check box'om, Где взять?
проблемы с TQRCompositeReport
Как покрасить меню....., :)
Динамический массив
Не знаю, как это назвать .....
ModelMaker Code Explorer, Альтернатива
Как программно прочитать и изменить вот это файл!, Kbdur.kbd
TStream, передать и integer и bmp........
Решение системы линейных уравнений
Папки..., сравнение
копирования файлов!, Есть исходник!
GetScreenWindow
Как зделать? Чтоб форма всегда была позоди всех, Остальных окон?
Как в свою программу вставить gif Изображения??, gif Изображения??
Как менять запись в реестре?, Как менять запись в реестре?
Объект владелец, Как получить на него ссылку?
Свойства объектов...., Не знаю как это умно назвать...
Мой огромный проек стал глючить, У большой программы большой глюк :)
Excel в БД, Как засуснуть Документ Excel в базу дан
WebBrowser
Tray, для любого окна
Icons, Разноформатные иконки - как?
DLL и pogressbar
input type=file
Фигуры с случаянными границми и одинаковой площадю, ну не знаю как еще назвать тему)
компонент StringGrid
Dll, и Tbitmap, Как достать bmp из функции в dll
Current Layout
Как программно изменить масштаб excel ?
Запись в текстовый докумень!, Запись в текстовый докумень!
FindFirstChangeNotification ..., Результат выполнения
обмен инфой, между приложениями
индексация лог.полей
Проверка на наличие эл-та в массиве
Standby, Winodws - Monitor - Please
Свернуть все окна, неактивные.
Как в памяте прокрутить большой процес?, Как в памяте прокрутить большой процес?
Меню в XP, Что-то странно оно изображается
Активное окно
WinInet.dll, какая-то дикость....
Настройка прокси., Как их выудить.
Как Вы относитесь к курящим девушкам?
Предложение на создание сайта
Программный docking, Как сделать?

Платные хостинги     Раскрутка сайта     Книги по программированию


Динамический массив

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Умельцы!!! Объясните что такое динамический массив и как с ним работать (например, записать данные - скажем packed record) . Заранее благодарен !

- Динамический массив- это массив с переменной длинной. Его лучше по возможности не использовать, но если надо то вот:Код TRec = Record  f1: String;  f2: Integer;  f3: Int64;end;var  arr: array of Trec;highlightSyntax('delphilkNjUw','delphi'); для изменения длинны массива:SetLength(arr, size);и соответственно:Код var  rec: TRec;begin  SetLength(arr, 10); // = arr: array[0..9] of TRec;  arr[10] = ... // Вызовет access voilation т.к. arr[10] не существует.  rec.f1:= 'asdasdad';//  rec.f2:= 10;             // Присваивание эл-ту arr[2] значения rec;  rec.f3:= 1555646;  //  arr[2]:= rec;          //end;highlightSyntax('delphiYWNjNDV','delphi'); Вот по такому принципу работается с дин. массивами.Но помни, если обратишься к не существующему эл-ту, то получишь access voilation! Самые популярные грабли

- >Его лучше по возможности не использоватьА почему?

- И это в действительности так и есть(эту ошибку очень сложно отловить). Я всё же думаю, что лучше использовать листы (TListб TinterfaceList, TClassList), но его опять же надо использовать умо, а не так как некоторые.Многие пишут так:TList.Add(Pointer(10))А правильно было бы так:TInteger = class Value: Integer;end;TInteger.Value:= 10;TList.Add(TInteger);Конструкторы как бы подразумиваются...

- >если обратишься к не существующему эл-ту, то получишь access voilation!Ясно. Просто нужна аккуратность. Но, в общем-то, как и везде. У меня проблем с динамическими массивами не было, хотя использую их достаточно часто - очень уж удобно.

- dm9, а чем не удобны листы? Да и из дин. массива не вырежешь эл № 5.

- нет не вырежешь: можно только создать 2 массив на основе первого, но только без эл-та № 5. Разве это можно назвать вырезанием, а скорость?

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

- dm9, я не противник массивов как таковых, просто моё мнение - если есть возможность их не использовать - то надо их не использовать.

- А можно первый подредактировать - тоже вырезать получится =)

- Ну это уже будет садизм

- Не больший садизм, чем заново создавать новый массив.Удаляем 5 элемент:for x:=4 to length(my_array)-2 do my_array[x]:=my_array[x+1];setlength(my_array,length(my_array)-1);По-моему даже просто :-)

- Ну это разве не садизм по сравнению с .Remove(id|element)?

- Еще проще:Код type   IntArr=array of integer;procedure ArrRemove(var a:IntArr; index:integer);begin  if (index<0) or (index>length(a)) then      raise Exception.Create('Out of bound');  Move(a[index+1],a[index],(length(a)-index-1)*sizeof(integer));  SetLength(a,length(a)-1);end;highlightSyntax('delphiN2I4Y2','delphi'); И будет не извращенее чем .Remove(id|element). Только я тоже предпочитаю TList, ибо инкапсуляция. Хотя надоедает писать все время TList.Create, Free. Преобразование типов тоже надоедает, поэтому я обычно пишу наследника от TList с перекрытым Items, который возвращает нужный тип. Но это тоже добивает.QUOTE TInteger = classValue: Integer;end;TInteger.Value:= 10;TList.Add(TInteger);Ну уж большего садизма я не видел. Всегда писал list.Add(Pointer(int_Value)). Не подразумеваю, что моя программа будет работать на платформе, где размер указателя отличается от размера Integer.

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | графическое программирование | язык программирования си | оффшорное программирование | пролог программирование | программирование dos | программирование мобильных | программирование мини атс | выпуклое программирование | программирование микросхем | программирование ms | библиотека программирование | программирование 3d | программирование j2me | программирование под windows | коды программирования | программирование статьи | asp программирование | веб программирование | lotus программирование | описания языков программирования | примеры задач программирование | программирование symbian | программирование литература | введение программирование | сравнение языков программирования | Ссылки

Все про веб программирование