Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.06.2013, 19:07
antkom antkom вне форума
Прохожий
 
Регистрация: 12.06.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Массивы! Нужна помощь!

Дан любой массив, нужно чтобы следующий элемент после текущего при нажатии кнопки "пропустить" например, становился текущим, а "пропущенный" становился последним... Помогите пожалуйста это реализовать в коде примерном!
Ответить с цитированием
  #2  
Старый 17.06.2013, 19:15
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Смех

а что такое текущий элемент массива???
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 17.06.2013, 19:27
antkom antkom вне форума
Прохожий
 
Регистрация: 12.06.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

a[i] вроде, я и не совсем уверен что это через массив лучше делать) ПРосто нужно сделать тест с возможностью пропуска вопросов но чтобы они снова (пропущенные) в конце повторялись...
Ответить с цитированием
  #4  
Старый 17.06.2013, 19:28
antkom antkom вне форума
Прохожий
 
Регистрация: 12.06.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Тест сам готов, но вот как реализовать повторение вопросов не соображу(
Ответить с цитированием
  #5  
Старый 17.06.2013, 19:42
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

с TList не проще будет?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 17.06.2013, 19:51
antkom antkom вне форума
Прохожий
 
Регистрация: 12.06.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

У меня вопросы загружаются из xml файла, такое задание... Это с tlist сочетаемо?
Ответить с цитированием
  #7  
Старый 18.06.2013, 08:20
vr-frost vr-frost вне форума
Прохожий
 
Регистрация: 31.08.2011
Сообщения: 7
Репутация: 10
По умолчанию

Самое простое создать еще один массив и скидывать туда вопросы или ссылки на них при пропуске.
Ответить с цитированием
  #8  
Старый 18.06.2013, 10:47
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну TList поудобнее будет, там уже есть методы удаления и перестановки элементов.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #9  
Старый 20.06.2013, 15:35
BorodaOleg BorodaOleg вне форума
Прохожий
 
Регистрация: 20.06.2013
Сообщения: 12
Версия Delphi: 7
Репутация: 10
По умолчанию

Есть список вопросов, как я понял, т.е. обычных текстовых строк.
Тогда однозначно TStrinList, сначала методом Add добавляете строки, а далее при помощи Delete, Exchange, Insert крутите ими, как вам будет удобно.
Ответить с цитированием
  #10  
Старый 03.07.2013, 00:08
UFO 007 UFO 007 вне форума
Новичок
 
Регистрация: 28.11.2010
Сообщения: 54
Репутация: 10
По умолчанию Re: Массивы! Нужна помощь!

Доброго всем времени суток!!!

Жутко извиняюсь - если чуток не в тему (хотя судя по названию - самый раз), но тут такое дело: скачал Юнит с таким фрагментом:
Код:
const
  HexLookup: Array[Char] of Byte = (
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, 10,  11,  12,  13,  14,  15,  $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, 10,  11,  12,  13,  14,  15,  $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF,
      $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF);
на который компилер самым непотребным образом ругается: Намбер оф элементс (256) диферс фром декларэйшн (65535)...
Нагуглить удалось разве что 3-5 юнитов где есть куски как две капли с вышеприведённым (и наверняка у людей они работают),
а из разъяснений - цитата из одной и той же книжки:
Код:
type 
 mat = array [0..5] of array [-2..2] of array [Char] of Byte; 
 Такую запись можно заменить более компактной: 
type 
 mat = array [0..5,-2..2,Char] of Byte; 
 Глубина вложенности структурированных типов вообще, а следовательно, и массивов - произвольная, поэтому количество
 элементов в списке индексных типов (размерность массива) не ограничено, однако суммарная длина внутреннего представления 
 любого массива, как уже говорилось, не может быть больше 65520 байт.
... так почему компилер хочет на 15 байт больше?
Пролейте хто-нить свет на ето дело - спасибо (заранее).

Да - ХР х64, D2010
__________________
...И был сначала ZX-Spectrum, а потом его T(urbo)ASS(e)M(bler)... И только на 7-й день (когда Интел купила Пентковского [из КБ Бабаяна]) - появился Pentium-I... А в Союзе P-II был ещё в 1978 году (точнее: Эльбрус [мультискалярный проц] только не рапространялся спекулянтами, а управлял ракетами и спутниками)... А лет с пяток назад Эльбрус-II ПЁР (но никак не ГНАЛСЯ как Селероны) на F(recuency):= 400 GHz... А самое парадоксальное - презентация состоялась в Минске...
Ответить с цитированием
  #11  
Старый 03.07.2013, 00:31
Аватар для ined
ined ined вне форума
Начинающий
 
Регистрация: 16.11.2008
Адрес: Российская Федерация!! :)
Сообщения: 165
Версия Delphi: Delphi 2010
Репутация: 1272
По умолчанию

Если я не ошибаюсь то с версии Делпхи2009 "Char" стал Юникодом и имеет 2байта а именно 65536 символов , Т.Е. у тебя массив [0..65535]. А представленных значений в константе всего 256. Вот он и ругается, типа, дорисуй ему ещё 65280 элементов . И так, что бы у тебя тут всё заработало, тебе нужно изменить Char на Ansichar .
__________________
11011111 INED Home code
VK

Последний раз редактировалось ined, 03.07.2013 в 01:03.
Ответить с цитированием
Этот пользователь сказал Спасибо ined за это полезное сообщение:
UFO 007 (03.07.2013)
  #12  
Старый 03.07.2013, 21:23
UFO 007 UFO 007 вне форума
Новичок
 
Регистрация: 28.11.2010
Сообщения: 54
Репутация: 10
Вопрос

... и действительно - typы - добавил префикс Ansi и даже в таком случае:
Код:
procedure ConvertCaseInsensitive(var C: CharSet);
var Ch: AnsiChar; // Char
begin
  For Ch := 'A' to 'Z' do
    if Ch in C then
      Include(C, AnsiChar(Ord(Ch) + 32));// Char
  For Ch := 'a' to 'z' do
    if Ch in C then
      Include(C, AnsiChar(Ord(Ch) - 32));// Char
end;
и всё равно ошибка: F2084 Internal Error : URW1111 - уж не приведение ли типов замешано? Если да, то как это делается (явно/не явно)?

З. Ы. Под D7 пашет - как по нотам, но сама D7 скрежещет под х64.
__________________
...И был сначала ZX-Spectrum, а потом его T(urbo)ASS(e)M(bler)... И только на 7-й день (когда Интел купила Пентковского [из КБ Бабаяна]) - появился Pentium-I... А в Союзе P-II был ещё в 1978 году (точнее: Эльбрус [мультискалярный проц] только не рапространялся спекулянтами, а управлял ракетами и спутниками)... А лет с пяток назад Эльбрус-II ПЁР (но никак не ГНАЛСЯ как Селероны) на F(recuency):= 400 GHz... А самое парадоксальное - презентация состоялась в Минске...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter