forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   Помогите упростить алгоритм... (http://forum.boolean.name/showthread.php?t=9484)

demon112 12.10.2009 10:44

Помогите упростить алгоритм...
 
в общем у мя есть такая строка line:='q'+HpPlayer+'i'+'w'+XPlayer+'i'+'e'+YPlayer +'i'+'r'+AlfaPlayer+'i'+'.';

мне из неё надо переменные. Я делаю так:
Код:

repeat
 line1:=getChar(line, x);
 
 if line1='q' then
  begin
  y:=x;
  x:=x+1;
  repeat
  y:=y+1;
  line1:=getChar(line, y);
  until line1='i';
  HpPlayer:=StringToInteger(copy(line, x, y));
  x:=y;
  end;
 
  if line1='w' then
  begin
  y:=x;
  x:=x+1;
  repeat
  y:=y+1;
  line1:=getChar(line, y);
  until line1='i';
  XPlayer:=StringToInteger(copy(line, x, y));
  x:=y;
  end;
 
  if line1='e' then
  begin
  y:=x;
  x:=x+1;
  repeat
  y:=y+1;
  line1:=getChar(line, y);
  until line1='i';
  YPlayer:=StringToInteger(copy(line, x, y));
  x:=y;
  end;
 
  if line1='r' then
  begin
  y:=x;
  x:=x+1;
  repeat
  y:=y+1;
  line1:=getChar(line, y);
  until line1='i';
  AlfaPlayer:=StringToInteger(copy(line, x, y));
  x:=y;
  end;
  x:=x+1;
 until line1='.';

кто нить может облегчить алгоритм? а то мне расшифрововать надо много и быстро...

Bruteo 12.10.2009 14:55

Ответ: Помогите упростить алгоритм...
 
В зависимости от задачи можно просто разделять значения переменных каким-нибудь символом, а потом, например, использовать библиотеку lib_parse.
Т.е. значение1;значение2;значение3...

ViNT 12.10.2009 19:56

Ответ: Помогите упростить алгоритм...
 
Нужно использовать функции Pos, Copy, Delete и Length.

odd 13.10.2009 13:29

Ответ: Помогите упростить алгоритм...
 
Легче использовать Lib_parse и парсить по символу "i" и потом только нужно будет убирать лишнюю первую букву в полученных обрезках. Тут лучше использовать Copy.


Часовой пояс GMT +4, время: 12:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot