Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 24.03.2008, 17:06
vigi vigi вне форума
Прохожий
 
Регистрация: 24.03.2008
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от d1gger17
procedure GetNum(TextS:string;StartPos:integer);
var
i:integer;
begin
for i:=StartPos to length(TextS) do
if TextS[i]<>' ' then sun:=sun+TextS[i] else break;
n:=StrToInt{Для делфи или val для паскаля}(sun);
end;
var
i:integer;
begin
Text:='Текст 452';
for i:=0 to 9 do
begin
n:=pos(IntToStr(i),Text);
if n>0 then
if Text[n-1]=' ' or Text[n-1]='' then
begin
GetNum(Text;n);
break;
end;
//в n будет число.
end;

if Text[n-1]=' ' or Text[n-1]='' then - тут ошибку дает!!!!
Ответить с цитированием
  #17  
Старый 24.03.2008, 17:20
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

'' - это уже String
Надо #0
И надо
Код:
if (Text[n-1]=' ') or (Text[n-1]=#0) then
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #18  
Старый 24.03.2008, 18:10
vigi vigi вне форума
Прохожий
 
Регистрация: 24.03.2008
Сообщения: 10
Репутация: 10
Печаль

Цитата:
Сообщение от The Shadow
'' - это уже String
Надо #0
И надо
Код:
if (Text[n-1]=' ') or (Text[n-1]=#0) then

Так стартует только сам алгоритм не делает то что надо

Мужики сделайте плиз рабочий алгоритм на вот этом конкретном примере, а то я уже весь в запарках

ttt:='amur 11367 03-21 20-52-49.rcd';
надо из этой переменной записать в другую переменную rezz только вес (11367 в данном случае, но он межет содержать как 1 до n знаков) чтоб rezz:='11367')

очень надо!!!!!! Спасибо..
Ответить с цитированием
  #19  
Старый 25.03.2008, 05:49
vigi vigi вне форума
Прохожий
 
Регистрация: 24.03.2008
Сообщения: 10
Репутация: 10
По умолчанию

Всем огромное спасибо за помощь.
Вопрос снят нашел идеальное решение!!!
вот предлагаю может пригодится:

Код:
procedure GetStrParam(s: String; ParamN: byte; var Param: String);
var m,i,j: Integer;
begin
m:=0; j:= 0; Param:= '';
s:= Trim(s);
for i:=1 to Length(s) do
  begin
  if s[i] = ' ' then
    begin
    if j=0 then
      begin
      Inc(m); j:=1;
      if m>ParamN then exit;
      end else j:=0;
    end
    else
    if (j=1) and (m=ParamN-1) then Param:= Param+s[i];
  end;
end;

function GetSecondParam(s: String; var Res: Integer): boolean;
var Param: String;
begin
GetStrParam(s,2,Param);
Result:= TryStrToInt(Param,Res);
end;

procedure TForm1.BClick(Sender: TObject);
var Rezz: Integer;
begin
if GetSecondParam('amur 11367 03-21 20-52-49.rcd',Rezz) then ShowMessage(IntToStr(Rezz));
end;

Еще раз всем спасибо!!!!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter