Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
Внизкак сделать кнопку Найти похожие ветки
← →
heady (2004-02-15 21:45) [0]Hi, All! подскажите как сделать кнопку "Выход" - бред какой-то, но найти не могу :( и еще вдогонку - нет ли стандартной функции, вычленяющей подстроку из строки с разделителями (все что могу написать работает крайн медленно :( ) Зарание благодарен.
← →
Unax (2004-02-15 21:51) [1]Вставляешь на форму кнопку и пишешь в Caption "Выход". :)
← →
heady (2004-02-15 21:57) [2]ценя твой тонкий юмор - но что писать внутри? :)
← →
Unax (2004-02-15 21:59) [3]Close;
← →
Unax (2004-02-15 22:00) [4]Или Application.Terminate;
← →
heady (2004-02-15 22:03) [5]Спасибо! а ка насчет функции, вычленяющей подстроку из строки с разделителями? ;)
← →
Unax (2004-02-15 22:04) [6]С какими разделителями???
← →
Gero (2004-02-15 22:05) [7]> вычленяющей подстроку из строки с разделителями
Если я правильно тебя понял, то Pos и Copy помогут тебе.
← →
heady (2004-02-15 22:05) [8]например ";" типа *.csv
← →
heady (2004-02-15 22:09) [9]могу кинуть мой вариант (работает, но с большими файлами видимо годами :)
function GetNeedString(BigStr:string; Razdelitel:char; NeedStrNum:word):string;
var
i,j:word;
WorkStr:string;
RazdelitelCounter:word;
begin
RazdelitelCounter:=0;
WorkStr:=BigStr;
GetNeedString:="-";
if NeedStrNum=1 then
begin
if WorkStr[1]=Razdelitel then
begin
GetNeedString:="-";
exit
end;
for i:=1 to length(WorkStr) do
begin
if WorkStr[i]=Razdelitel then
begin
GetNeedString:=copy(WorkStr,1,i-1);
exit;
end;
if i=length(WorkStr) then
begin
GetNeedString:=copy(WorkStr,1,i);
exit;
end;
end
end
else
for i:=1 to length(WorkStr) do
if WorkStr[i]=Razdelitel then
begin
inc(RazdelitelCounter);
if RazdelitelCounter=NeedStrNum-1 then
for j:=i+1 to length(WorkStr) do
begin
if WorkStr[j]=Razdelitel then
begin
GetNeedString:=copy(WorkStr,i+1,j-(i+1));
exit;
end;
if j=length(WorkStr) then
begin
GetNeedString:=copy(WorkStr,i+1,j-i);
exit;
end;
end;
end;
end;
← →
Gero (2004-02-15 22:17) [10]> heady
Скажи по-человечески, что именно требуется
← →
heady (2004-02-15 22:22) [11]:)) есть строка 1;2;3;4;5;
требуется написать функцию GetNeedString ((BigStr:string; Razdelitel:char; NeedStrNum:word):string у которой первый параметр строка а второй - номер подстроки, которая и будет результатом например GetNeedString ("1ps;2ps;3ps;4ps;5ps;",3) = 3ps ...
← →
Gero (2004-02-15 23:06) [12]Должно работать:
function GetNeedString(S : string; Sep : Char; Num : Integer) : string;
var
Count : Integer;
begin
Count := 0;
while Pos(Sep, S) > 0 do
begin
Delete(S, 1, Pos(Sep, S));
Inc(Count);
if Count = Num then Break;
end;
if Pos(Sep, S) > 0 then
Result := Copy(S, 1, Pos(Sep, S))
else
Result := S;
end;
← →
dr Tr0jan (2004-02-16 01:26) [13]А причем, спрашивается, здесь "Выход"?
← →
Юрий Зотов (2004-02-16 01:47) [14]"Выход" - это ерунда, раз плюнуть. А вот как создать кнопку "Вход"? Насчет Caption все ясно, а вот что внутри писать?
Варианты:
Application.Entree;
ComeInBaby
... // что еще?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.015 c