Текущий архив: 2004.03.28;
Скачать: CL | DM;
Вниз
Как прочитать слово из середины предложения? Найти похожие ветки
← →
В л а д и м и р © (2004-03-10 18:23) [0]Необходимо "достать" дату из следующего предложения: "На начало 01.03.2004 года". Заранее спасибо за помощь.
← →
TUser © (2004-03-10 18:26) [1]рег. выражениями или "ручками" - поискать последовательность чсимволов, которая является датой.
← →
Brahman © (2004-03-10 18:29) [2]Подумать, как может быть представлена дата в строке
01/03/04
01.03.2004
1 марта 2004
отсюда и исходить
← →
В л а д и м и р © (2004-03-10 19:12) [3]Допустим, что представлена как 01.03.2004. И как ее вытащить?
← →
Fay © (2004-03-10 19:17) [4]Copy()
← →
TUser © (2004-03-10 19:25) [5]поставь RegExpr и используй [1]
← →
Александр1 © (2004-03-10 19:26) [6]Как из строки считывать слова, разделенные запятой????
Здесь приведены два алгоритма. Первый удобен, если входные данные - переменная, которую можно менять и она больше не понадобится. Второй вариант не изменяет входных данных.
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
p: integer;
begin
s := "саша,маша,оля";
repeat
p := pos(",", s);
if p <= 0 then p := Length(s) + 1;
ListBox1.Items.Add(copy(s, 1, p - 1));
delete(s, 1, p);
until s = "";
end;
procedure TForm1.Button2Click(Sender: TObject);
const
s = "саша,маша,оля";
var
i: integer;
buf: string;
begin
buf := "";
for i := 1 to Length(s) do
if s[i] = "," then begin
ListBox1.Items.Add(buf);
buf := "";
end else buf := buf + s[i];
ListBox1.Items.Add(buf);
end;
А теперь напряги мозги и подумай, как это можно использовать!!!!!!!!!!!
← →
wisekaa © (2004-03-10 19:33) [7]
function FindDateInStr(str: string): string;
var
s, sDate: string;
begin
result:="";
// str:="На начало 01.03.2004 года";
s:=str;
while pos(" ",s) > 0 do begin
sDate:="";
sDate:=Copy(s,1,pos(" ", s)-1);
try
StrToDate(sDate);
result:=sDate;
Break;
except end;
Delete(s,1,pos(" ", s));
end;
end;
← →
Никто © (2004-03-10 19:40) [8]function GetDate(Str:String):String;
var s:String;
begin
s:=Copy(str,pos(".",str)-2,10);
try
StrToDate(S);
except
on EConvertError do
begin
if pos(".",str)<>0 then
begin
s:=Copy(str,pos(".",str)+1,length(str)-pos(".",str));
// ShowMessage(s);
s:=GetDate(s);
end else s:="Fail";
end;
end;
result:=s;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=GetDate(Edit1.Text);
end;
← →
Никто © (2004-03-10 19:50) [9]ps и не забудь про DateSeparator -)
← →
В л а д и м и р © (2004-03-10 20:59) [10]Всем огромное спасибо за помощь, щас попробуем все это использовать на практике..
← →
evvcom (2004-03-11 08:50) [11]
> wisekaa © (10.03.04 19:33) [7]
> function FindDateInStr(str: string): string;
> var
> s, sDate: string;
> begin
> result:="";
> // str:="На начало 01.03.2004 года";
> s:=str;
А переменная s зачем? Если значение str больше нигде не используется. Можно изменять и значение str, с исходной строкой ничего не случится!
Страницы: 1 вся ветка
Текущий архив: 2004.03.28;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.027 c