Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не прибавляется символ к строке 
V
    Опции темы
МIФ
Дата 8.8.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



вот фрагмент кода
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Spin;

type
  TForm1 = class(TForm)
    KolSim: TSpinEdit;
    ColPas: TSpinEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var nab:set of byte;
    i,j{Счетчик},sim{Сгенерированный код символа}:byte;
    s:string;//результирующая строка
begin

     for j:=1 to colpas.Value do begin
         i:=1;
         s:='';
         while i<kolsim.Value do begin
               sim:=round(random(253)+1);
               if sim in nab then begin
                 s[i]:=chr(sim);//                                      ВЫДЕЛЕННАЯ СТРОКА С ОШИБКОЙ
                  i:=i+1
               end;
         end;
         memo1.Lines.Add(s);
     end;
end;

end.


на выделенной строке вылетает ошибка.user posted image
не могу понять в чем ее причина

Это сообщение отредактировал(а) МIФ - 8.8.2009, 13:53
PM MAIL   Вверх
THandle
Дата 8.8.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



МIФ, значение в SpinEdit до которого ты едешь в цикле While может быть довольно большим(соответтвенно и i будет большим), а длина строки максимум 3 символа. Вот и вылезаешь за границы.
PM   Вверх
МIФ
Дата 8.8.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



THandle, Spinedit y меня от 1 до 16. ошибка вылетает при i=1.


P.S. На сколько я помню String дает 255 символов, а не 3?
PM MAIL   Вверх
Romikgy
Дата 8.8.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(МIФ @  8.8.2009,  12:51 Найти цитируемый пост)
s[i]:=chr(sim);// 

на
Код

s:=s+chr(sim);



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.