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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2009, 12:00   #1
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию Считывание данных массива в число

Имеется массив из 11 элементов, нужно считать данные так чтоб вышло
ОДИНАДЦАТИЗНАЧНОЕ цисло. Вот
monty "2" вне форума Ответить с цитированием
Старый 27.11.2009, 12:05   #2
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

считывайте сперва в строку, а затем передавайте значение полученной строки числовой переменной через StrToInt()

Код:
var
  s : string;
  i,j:integer;
begin
  for i:=0 to Mass.Count-1 do //Mass - ваш массив
  s:=s+Mass[i];
   
  j:=StrToInt(s);
end;
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 27.11.2009, 12:10   #3
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

сейчас попробуем

что-то со строкой for i:=0 to Mass.Count-1 do //Mass - ваш массив
не выходить, можно на конкретном примере?

Код:
var
  Form1: TForm1;
   s : string;
   i: array[0..11] of byte;
   j,q:integer;

Последний раз редактировалось Stilet; 27.11.2009 в 12:47.
monty "2" вне форума Ответить с цитированием
Старый 27.11.2009, 12:19   #4
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Вместо Mass.Count можно использовать High(Mass).

Код:
var
  s : string;
  i,j:integer;
  Mass: array[0..11] of byte;
begin
  for i:=Low(Mass) to High(Mass) do
    s:=s+IntToStr(Mass[i]);
  j:=StrToInt(s);
end;
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты

Последний раз редактировалось apromix; 27.11.2009 в 12:22.
apromix вне форума Ответить с цитированием
Старый 27.11.2009, 12:29   #5
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

First chance exception at $758542EB. Exception class EConvertError with message ''41860702004' is not a valid integer value'. Process Project2.exe (1724)

походу значение великовато, не входит в диапозон, что можно сделать?

Последний раз редактировалось monty "2"; 27.11.2009 в 12:38.
monty "2" вне форума Ответить с цитированием
Старый 27.11.2009, 12:46   #6
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

А результирующее число нужно просто вывести на экран? Или потом его нужно еще обрабатывать (множить, делить ... )?
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 27.11.2009, 12:51   #7
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

Потом его в шестнадцатиричку переводить.
monty "2" вне форума Ответить с цитированием
Старый 27.11.2009, 13:00   #8
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Ну тогда можно использовать целый тип LongInt вместо Integer

Код:
var
  s : String;
  i : Byte;
  j : LongInt;
  Mass: array[0..11] of byte;
begin
  for i:=Low(Mass) to High(Mass) do
    s:=s+IntToStr(Mass[i]);
  j:=StrToInt(s);
end;
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 27.11.2009, 13:08   #9
monty "2"
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 26
По умолчанию

Цитата:
First chance exception at $758542EB. Exception class EConvertError with message ''61117242756' is not a valid integer value'. Process Project2.exe (2584)
Тоже самое. На сколько я помню все целые типы данных имеют максимум 10 символов а тут 11....

А что если изначально работать в шестнадцатиричной?

Последний раз редактировалось monty "2"; 27.11.2009 в 13:16.
monty "2" вне форума Ответить с цитированием
Старый 27.11.2009, 13:18   #10
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Тогда нужно работать со строкой, содержащей это число и в целое его не конвентировать
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывание массива из файла slKAHN Общие вопросы C/C++ 1 15.11.2009 15:01
Считывание массива из файла slKAHN Общие вопросы C/C++ 2 15.11.2009 14:01
считывание данных из текстового файла Olejik Общие вопросы по Java, Java SE, Kotlin 3 03.10.2009 20:40
Считывание данных из файла inret Общие вопросы Delphi 4 18.11.2007 18:03
Считывание данных из файла PAVEL315 Общие вопросы Delphi 26 17.12.2006 00:53