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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.09.2007, 13:37
zzz0001 zzz0001 вне форума
Прохожий
 
Регистрация: 07.09.2007
Сообщения: 3
Репутация: 10
По умолчанию В чем ошибка???

function getmail(st:string) : string;

var
numst : integer;
numbegin : integer;
numend : integer;
getmails : string;
getmailsn : integer;


begin

if Pos('@',st) > 0 then
begin

numst := Pos('@',st);

while st[numst] <> ' ' do
begin
dec(numst);
end;

numbegin := numst;

numst := Pos('@',st);

while st[numst] <> ' ' do
begin
inc(numst);
end;

numend := numst;
getmailsn := 0;



for numst := numbegin to numend do
begin
showmessage(inttostr(numst));
getmails[getmailsn] := st[numst];
inc(getmailsn);
end;


getmail := getmails;


end;


****
Вылетает на getmails[getmailsn] := st[numst];
Ответить с цитированием
  #2  
Старый 09.09.2007, 16:14
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Код:
getmailsn := 1;
SetLength(getmails, numend - numbegin);
for numst := numbegin to numend do
...................
Локальные строковые переменные надо явно инициализировать перед использованием! И нумерация символов в строке начинается с 1. И не проще ли сделать так
Код:
getmails := getmails + st[numst];
Тогда не надо будет вызывать SetLength(getmails, numend - numbegin).
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.

Последний раз редактировалось zip000, 09.09.2007 в 16:23.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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