Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Макс324
0 / 0 / 1
Регистрация: 19.03.2014
Сообщений: 39
1

Ошибка incompatible types в length

15.11.2014, 15:45. Просмотров 946. Ответов 7
Метки нет (Все метки)

Вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
var
ran,r,lenran:integer;
begin
repeat
  randomize;
  ran:=random(r);
  lenran:=length(ran);
until lenran=6;
end;
end.
Как исправить ошибку ?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2014, 15:45
Ответы с готовыми решениями:

Ошибка Incompatible types
Форма делфи. unit Unit1; interface uses Windows, Messages, SysUtils,...

Ошибка incompatible types
Хочу создать файл по кнопке, при компиляции выдаёт ошибку incompatible types ...

Ошибка: Incompatible types
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

Ошибка: Incompatible types
TAnimate = class(TBase) private bitmap: array of TBitmap; ...

Ошибка: Incompatible types
Помогите, ошибка Project2.dpr(15): Incompatible types в 15 строке ...

7
FIL
Модератор
3419 / 2555 / 726
Регистрация: 19.09.2012
Сообщений: 7,923
15.11.2014, 15:57 2
Что по-твоему делает этот код, и особенно строка 7 ?
0
Макс324
0 / 0 / 1
Регистрация: 19.03.2014
Сообщений: 39
15.11.2014, 16:05  [ТС] 3
Смысл в том чтобы random сгенерировал число ran длина которого 6 и закончил цикл. А 7 строка получает длину строки ran.
0
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
3882 / 2864 / 3639
Регистрация: 05.06.2014
Сообщений: 14,083
15.11.2014, 16:11 4
Макс324, ran у вас имеет тип integer и строкой никоим образом не является. Укажите, что ran имеет тип string и переведите random(r) в ran функцией inttostr

Добавлено через 1 минуту
И, кстати, r у вас не инициализировано, скорее всего компилятор занесет в него 0.
0
Puporev
Модератор
54679 / 42100 / 29069
Регистрация: 18.05.2008
Сообщений: 99,353
15.11.2014, 16:17 5
Цитата Сообщение от Макс324 Посмотреть сообщение
число ran длина которого 6
А что такое длина числа? Может у него и ширина есть?
0
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
3882 / 2864 / 3639
Регистрация: 05.06.2014
Сообщений: 14,083
15.11.2014, 16:32 6
Если я правильно понял:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses
  math,sysutils;
var
  ran:string;
  r,lenran:longint;
begin
  randomize;
  while lenran<>6 do
    begin
      r:=randomrange(9,999999);
      writeln(r);
      ran:=IntToStr(r);
      lenran:=length(ran);
    end;
  writeln('Число: ',r,', разрядов: ',lenran);
end.
0
FIL
Модератор
3419 / 2555 / 726
Регистрация: 19.09.2012
Сообщений: 7,923
15.11.2014, 16:53 7
Лучший ответ Сообщение было отмечено Макс324 как решение

Решение

Что мешает сразу сгенерить число заданной длины без циклов и прочих извращений?)
0
Puporev
Модератор
54679 / 42100 / 29069
Регистрация: 18.05.2008
Сообщений: 99,353
15.11.2014, 16:55 8
Если ТС не может два слова связать,то можно год играть в угадайку...
0
15.11.2014, 16:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2014, 16:55

Ошибка: incompatible types
; Ошибка incompatible types 'string' and 'tpicture'; Я новичок. У меня...

Ошибка Incompatible types
rocedure TForm1.Button1Click(Sender: TObject); var...

Ошибка: Incompatible types
Program transpose; Type str100 = string; str80 = string; Var ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru