Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Memo, Strings


Автор: nightlife 1.7.2010, 03:58
Если быть кароче, у меня есть программа. Работает она через сокеты.

У меня идет пересылка сообщения с клиента1 на клиент2. Пересылается строка в 12 символов.

Клиент2 принимает в мемо сообщение и тут возникает проблема. Собственно я пытаюсь записать из мемо в переменную типа стринг и возникает ошибка access violation. Ниже приведен листинг проги. Прошу помочь исправить эту ошибку и если будут другие, устраните их тоже пожалуйста. Если не сложно скажите в чем были мои ошибки.
Код

var
  Form1: TForm1;
  ini : Tinifile;
  buff : string[13];
  S1 : string[10];
    S2 : string[10];
    S3 : string[10];
    S4 : string[10];
    S5 : string[10];
    S6 : string[10];

procedure TForm1.CharIni;
var  i: integer;
 V1 : integer;
    V2 : integer;
    V3 : integer;
    V4 : integer;
    V5 : integer;
    V6 : integer;
    mMass : String[13];
Begin
    mMass:= Chat2.Lines.Strings[0];
     buff:=mMass;

      S1:= buff[0]+buff[1]+buff[2];
      S2:= buff[3];
      S3:= buff[4]+buff[5]+buff[6];
      S4:= buff[7];
      S5:= buff[8];
      S6:= buff[9]+buff[10]+buff[11];

 {   V1:= StrToInt(S1);
    V2:= StrToInt(S2);
    V3:= StrToInt(S3);
    V4:= StrToInt(S4);
    V5:= StrToInt(S5);
    V6:= StrToInt(S6);

    ini:= TInifile.Create('C:\Way');
    ini.WriteInteger('Player_A','X_PL',V1);
    ini.WriteInteger('Player_A','flag_LR_A',V2);
    ini.WriteInteger('Player_B','X_PL_2',V3);
    ini.WriteInteger('Player_B','Flag_LR_B',V4);
    ini.WriteInteger('Control','Control',V5);
    ini.WriteInteger('XP','Life_B',V6);  }
end;

procedure TForm1.Chat2Change(Sender: TObject);
begin
CharIni;
end;


Был и второй вариант, в нем все так же, кроме как: 

Код

    mMass:= Chat2.Lines.Strings[0];
  for i:=0 to Length(mMass) do
    begin
     buff[i]:=mMass[i];
    end;

 

Автор: ИванМ 4.7.2010, 21:50
nightlife, в делфи/паскаль строка индексируется с единицы, а не с нуля.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)