Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

Как удалить элемент массива?   Найти похожие ветки 

 
Yegorchic ©   (2005-03-05 20:06) [0]

есть какая-нибудь процедура в Delphi?


 
Anatoly Podgoretsky ©   (2005-03-05 20:11) [1]

Есть, если это array of char ака string;


 
Leeechhhh   (2005-03-05 20:16) [2]

а нельзя так
array[i,j].free;


 
Anatoly Podgoretsky ©   (2005-03-05 20:31) [3]

Так можно, но это удалеет на элемент, а уничтожает какое то содержимое его содержимое, наследника от TObject


 
Leeechhhh   (2005-03-05 20:35) [4]

я понимаю массив, как зарезервированное в память количество переменных имя[i,j], разве я не прав?


 
Knight ©   (2005-03-05 20:41) [5]


> Yegorchic ©   (05.03.05 20:06)
> есть какая-нибудь процедура в Delphi?

Во первых... какого массива?


> [2] Leeechhhh   (05.03.05 20:16)
> array[i,j].free;

Во вторых... как ты себе это представляешь? Удалить элемент из матрицы... что останеться? :)


 
Anatoly Podgoretsky ©   (2005-03-05 20:41) [6]

Leeechhhh   (05.03.05 20:35) [4]
Неправ, array of ничего не зарезервировано, и только к нему применимо удалить элемент массива


 
Leeechhhh   (2005-03-05 20:45) [7]


> Leeechhhh   (05.03.05 20:35) [4]
> Неправ, array of ничего не зарезервировано, и только к нему
> применимо удалить элемент массива

ааа, терь понятно.


> Во вторых... как ты себе это представляешь? Удалить элемент
> из матрицы... что останеться? :)

я думал что там каждый элемент массива, как бы отдельная переменная, которую можно очистить


 
Knight ©   (2005-03-05 20:49) [8]


> [7] Leeechhhh   (05.03.05 20:45)
> я думал что там каждый элемент массива, как бы отдельная
> переменная, которую можно очистить

Ты уж определись... удалить или очистить... :)


 
Leeechhhh   (2005-03-05 20:55) [9]

блин, ну в смысле free"кнуть.
ЗЫ: относитесь ко мне снисходителней, я новичёк в програмировании


 
Knight ©   (2005-03-05 20:59) [10]


> [9] Leeechhhh   (05.03.05 20:55)
> ЗЫ: относитесь ко мне снисходителней, я новичёк в програмировании

Забей... не ошибается тот, кто ничего не делает... :)


 
Yegorchic ©   (2005-03-05 21:01) [11]

1. array of string
2. а на его место встанет элемент который идёт после него, а на его место элемент котороый идёт после того элемента и т.д.

хотя я понял... пожно сдвинуть элементы начиная с того элемента который надо удалить, а потом просто уменьшить длину массива если это можно... вот.


 
Knight ©   (2005-03-05 21:05) [12]


> [11] Yegorchic ©   (05.03.05 21:01)
> 1. array of string
> 2. а на его место встанет элемент который идёт после него,
> а на его место элемент котороый идёт после того элемента

TList не подойдёт?


 
Yegorchic ©   (2005-03-05 21:22) [13]

не знаю... мне просто много переделывать придётся... то есть надо самому всё смещать и т.п... а уже готовой процедуры то нет?


 
Knight ©   (2005-03-05 21:30) [14]

ТStringList... тоже не катит? :)


 
Anatoly Podgoretsky ©   (2005-03-05 21:35) [15]

Leeechhhh   (05.03.05 20:55) [9]
блин, ну в смысле free"кнуть.
ЗЫ: относитесь ко мне снисходителней, я новичёк в програмировании

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

Yegorchic ©   (05.03.05 21:01) [11]
Правильно, это единственный путь и не только для массивов, а для любых протяженных объектов, например файлов.
array of string легко заменитьна TStringList там эта и не только эта функциональность поддержана.


 
Anatoly Podgoretsky ©   (2005-03-05 21:37) [16]

Кстати это прекрасная иллюстрация как не надо задавать вопросы. Если бы ты объяснил задачу и потом спросил как это реализовать, то тебе могли бы посоветовать другое решение, более оптимальное чем ты думаешь. Даже сейчас по неполному объему исходных данных видится, что вероятнее всего тебе лучше использовать TStringList


 
Knight ©   (2005-03-05 21:41) [17]


> [16] Anatoly Podgoretsky ©   (05.03.05 21:37)
> Кстати это прекрасная иллюстрация как не надо задавать вопросы.

Эт точно... даже моё ясновидение тут не обошлось без наводящих вопросов... :)))
PS: Будь я модератором, убил бы эту ветку сразу после её рождения... %)


 
Anatoly Podgoretsky ©   (2005-03-05 21:43) [18]

Knight ©   (05.03.05 21:41) [17]
Будт ты модератором, то тут бы никого не осталось.

Вопрос сформулирован четко, в соответствии с правилами форума по части публикации статей.


 
Knight ©   (2005-03-05 21:52) [19]


> [18] Anatoly Podgoretsky ©   (05.03.05 21:43)
> Knight ©   (05.03.05 21:41) [17]
> Будт ты модератором, то тут бы никого не осталось.

<Личная переписка>

Ну... остались бы мастаки... а остальные бы стали правильно задавать вопросы и сначала пользовать А1, FAQ и Yandex... :)

</Личная переписка>


 
Knight ©   (2005-03-05 21:53) [20]


> сначала пользовать А1,

Конечно, ...F1... на литиницу не переключилось :)


 
SergP ©   (2005-03-06 01:45) [21]


>  Yegorchic ©   (05.03.05 20:06)
> есть какая-нибудь процедура в Delphi?


Типа есть. Move называется...


 
Anatoly Podgoretsky ©   (2005-03-06 11:26) [22]

Оригинально, но по сути правильно, элемент будет в корне уничтожен


 
Дмитрий Мыльников   (2005-03-06 15:27) [23]

Если речь идёт о динамических массивах, которые появились начиная с D4, то большая часть способов работы с ними такая же, как и со строками. Движок испольузется один и тот же, только размер элемента разный.
В статическом массиве элемент удалить нельзя, на то он и статический.
Что же касается Free, то это процедура, которая вызывается для какого-либо экземпляра класса. При этом вызов
array[i,j].free
вообще никакого отношения к самому массиву не имеет. Он лишь уничтожает тот объект, который лежит в элементе array[i,j], после чего к нему уже нельзя обращаться как к объекту.
Кстати, для работы с объектами весьма рекомендуется использовать существующий в Delphi класс TObjectList, который по умочлчанию сам уничтожает все объекты, которые в него складываются. Хотя, если требуется, можно ему запретить это делать, указав в конструкторе Create(False).

Работать же с объектами через массивы, тем более через динамические, ИМХО, самому себе создавать лишние проблемы.


 
Ольга   (2005-03-06 16:08) [24]


> Ну... остались бы мастаки... а остальные бы стали правильно
> задавать вопросы и сначала пользовать F1, FAQ и Yandex

Ну и скучнейшее же было бы чтиво...
Зазнались, забыли, мастаки, когда сами были чайниками? Когда не понятно почти все, на F1 не нажимаешься, хочется что-нибудь и на халяву получить...
Кстати, я иногда не понимаю некоторые сленговые выражения, встречающиеся на вашем сайте.
Вот ИМХО. Что это - аббревиатура, междометие? Я надеюсь что-то приличное, а то я фразу типа "х.з. что получилось" долгое время переводила, как "хочу знать что получилось", пока не дошло.


 
Anatoly Podgoretsky ©   (2005-03-06 16:39) [25]

Мало общаешься в мужком коллективе, у них х.з значит совсем другое :-)


 
Набережных С. ©   (2005-03-06 16:39) [26]


> Ольга   (06.03.05 16:08) [24]
> а то я фразу типа "х.з. что получилось" долгое время переводила,
> как "хочу знать что получилось"

Девушка, не сочтите за нескромность, Вы из какого города?


 
jack128 ©   (2005-03-06 17:10) [27]

Набережных С. ©   (06.03.05 16:39) [26]
а что, решил взятся за просветительскую работу среди девушек города N ?


 
Набережных С. ©   (2005-03-06 17:31) [28]


> jack128 ©   (06.03.05 17:10) [27]

Да не, наооборот. Бросить бы все к чертем, да и рвануть бы туда! Мечты конечно, но хоть мечта будет:(


 
Knight ©   (2005-03-06 19:17) [29]


> [24] Ольга   (06.03.05 16:08)
> Ну и скучнейшее же было бы чтиво...

Дэвушка, это не развлекательный портал... однако :)

> Зазнались, забыли, мастаки, когда сами были чайниками?
Вы мне льстите... мне до мастака ещё читать и читать... %)

> Когда не понятно почти все
Значит вы взялись за дело, которое ещё Вам не по зубам... умерьте свои аппетиты и напишите для начала, хотя бы - "Hello world!"... ;)

> хочется что-нибудь и на халяву получить...
Вот мы и дошли до сути... Сие - есть развращающее действие форума... из-за которого чайник может стать ламером и остаться им навсегда...


 
Дмитрий Мыльников   (2005-03-06 22:12) [30]

Ольга, ИМХО это IMHO, что переводится как "по моему личному мнению". Просто было лениво лишний раз переключаться на английский.


 
Ольга   (2005-03-07 11:53) [31]

Спасибо, уважаемые джентельмены, за разъяснения. Этот сайт, ИМХО, самый лучший из отечественных дельфовских сайтов.
Иногда приятно пообщаться с грамотными и юморными со-товарищами, хоть и, ваша правда - это не развлекательный портал.
           С наилучшими пожеаниями, девушка из Екатеринбурга.


 
Набережных С. ©   (2005-03-07 12:22) [32]

Вот почему-то так и думал, а?! Вот просто уверен был! А звучит-то как - Екатерины град! Эх... Есть, есть город на Руси, в котором девушки ПРАВИЛЬНО переводят сокращение "х.з."!!!



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

Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.04 c
9-1103568320
Dic
2004-12-20 21:45
2005.03.20
Проблема с кириллицей в PowerDraw3.


6-1105873322
ole
2005-01-16 14:02
2005.03.20
Автоназначаемый порт в TIdTCPServer


1-1109403719
Zapekank0
2005-02-26 10:41
2005.03.20
Как написать таймер не зависящий от системного времени


3-1108989684
Neznaika
2005-02-21 15:41
2005.03.20
"Переносимость" моего приложения


3-1108832160
yyy
2005-02-19 19:56
2005.03.20
Выборка данных из базы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский