Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 11:00   #1
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию запись элементов в массив

есть набор стринговских значений. как записать их в массив?
вот код мой:
Код:
  
private
dbMas:array of string;

var
i:integer;
f:string;
..    
for i:=1 to DBGrid2.DataSource.DataSet.EOF do 
begin 
DBGrid2.DataSource.DataSet.First;   
 while not dbgrid2.DataSource.DataSet.EOF do
  begin
  f:=dbgrid2.DataSource.Dataset.Fields[0].asstring;
  dbMas[i]:=f;
  dbgrid2.DataSource.DataSet.Next;
  end;
end;
что в нем неверно?
kate158 вне форума Ответить с цитированием
Старый 17.12.2009, 11:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

dbMas[i]:=f;
Вы забываете задавать размерность массива!
Делается это через SetLength()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.12.2009, 12:01   #3
TRIZER
Студент
Пользователь
 
Аватар для TRIZER
 
Регистрация: 13.11.2009
Сообщений: 65
По умолчанию

Код:
private
dbMas:array of string;

var
i:integer;
f:string;
..    
for i:=1 to DBGrid2.DataSource.DataSet.EOF do 
begin 
DBGrid2.DataSource.DataSet.First;   
 while not dbgrid2.DataSource.DataSet.EOF do
  begin
  f:=dbgrid2.DataSource.Dataset.Fields[0].asstring;
  SetLength(dbMas,Length(dbMas)+1);
  dbMas[i]:=f;
  dbgrid2.DataSource.DataSet.Next;
  end;
end;
Я не знаю типов DBGrid2.DataSource.DataSet.EOF и dbgrid2.DataSource.Dataset.Fields[0].asstring .... может ты там че то еще с ними намутил
TRIZER вне форума Ответить с цитированием
Старый 17.12.2009, 12:07   #4
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

ТОТ КОД ПОЛНАЯ ФИГНЯ. мозги кипят уже.
Код:
 
var
i:integer;

for i:=1 to (dbgrid1.DataSource.DataSet.Rowcount) do
         begin
           s:=dbgrid1.DataSource.Dataset.FieldByName('Name').asstring;
           dbgrid1.DataSource.DataSet.Next;
           SetLength(dbHours,25);
           dbHours[i]:=s;
        END;
строк 25
но так тоже не работает

Последний раз редактировалось kate158; 17.12.2009 в 13:26.
kate158 вне форума Ответить с цитированием
Старый 17.12.2009, 13:23   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

жуть..
1) почему в цикле устанавливаете размер 25 ?!
больше 25 строк не может быть?
Так возьмите обычный массив, не динамический! Или задайте размерность ДО НАЧАЛА ЦИКЛА
2) а чему I равно?! и кто его наращивать будет?!!


___________________________________ ________________________________
так работает?
Код:
private
dbMas:array of string;

var
i:integer;
f:string;
..    
это удалить!!! ->> for i:=1 to DBGrid2.DataSource.DataSet.EOF do begin 
DBGrid2.DataSource.DataSet.First;   
i:=0;
 while not dbgrid2.DataSource.DataSet.EOF do
  begin
    inc(i);
    f:=dbgrid2.DataSource.Dataset.Fields[0].asstring;
    SetLength(dbMas,i);
    dbMas[i-1]:=f;
    dbgrid2.DataSource.DataSet.Next;
  end;

Последний раз редактировалось Serge_Bliznykov; 17.12.2009 в 13:27.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.12.2009, 15:16   #6
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

еще вопрос.
правильно ли я выцепляю этот массив из БД?

Код:
 ADOQuery.SQL.Add('SELECT * FROM VOL');
 ADOQuery.SQL.Add('WHERE  Name in' + dbMas[j-1]);
kate158 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ одномерный массив и сумма элементов Blondy Помощь студентам 1 19.11.2009 17:09
паскаль! дан массив из 30 элементов. игорек фролоff Помощь студентам 1 28.05.2009 01:15
одномерный массив n-элементов serj-07 Помощь студентам 1 24.03.2009 23:36
Дан массив из N элементов (чисел),определить количество элементов кратных 3. Woha Общие вопросы C/C++ 2 08.12.2008 13:12
Список элементов (Динамический массив) SeverBaP Помощь студентам 7 28.11.2008 15:21