Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
ВнизРасчипление строки Найти похожие ветки
← →
Alex21 (2003-09-27 07:43) [0]Здорова мастера!
У меня проблема такая например дата записываеися так 13.09.2003. Мне надо чтобы расчипить эту дату на 3 части на 13, на 09,
на 2003, и закинуть в разные Editы
Как жто сделать.
← →
Zergling (2003-09-27 08:12) [1]StrToDate, DateToStr, DecodeDate
← →
ZEE (2003-09-27 10:45) [2]Zergling © прав но сначала надо бы проверить форма даты
а то если разделитель для даты стоит "/" - то StrToDate в твоем случае будет ругаться :)
но можно и по-другому:
var s:string;
i:integer;
...
s:="13.09.2003";
i:=pos(".",s);
if i>0 then
begin
Edit1.Text:=copy(s,1,i-1);
Delete(s,1,i);
end;
i:=pos(".",s);
if i>0 then
begin
Edit2.Text:=copy(s,1,i-1);
Delete(s,1,i);
end;
Edit3.Text:=s;
← →
PVOzerski (2003-09-27 11:44) [3]const
day=1;
month=2;
var
year:string;
dm:array[day..month]of string;
i,p:integer;
begin
year:="13.09.2003";
for i:=1 to 2 do
begin
p:=pos(".",year);
dm[i]:=copy(year,1,pred(p));
delete(year,1,p);
end;
writeln(dm[day]," ",dm[month]," ",year);
end.
← →
_MAD_ (2003-09-27 13:55) [4]не хочу ни кого обижать но первый вариант кажется проще
← →
BillyJeans (2003-09-27 14:50) [5]а может так:
while pos(".",year) > 0 do year[pos(".",year)] := DateSeparator;
← →
BillyJeans (2003-09-27 14:55) [6]продолжение....
Edit1.Text := DayOf(StrToDate(year));
Edit2.Text := MonthOf(StrToDate(year));
Edit3.Text := YearOf(StrToDate(year));
← →
ZEE (2003-09-27 15:03) [7]> BillyJeans © (27.09.03 14:50) [5]
> а может так:
> while pos(".",year) > 0 do year[pos(".",year)] := DateSeparator;
а еслиDateSeparator="."
?
проверять сначала надо...
← →
BillyJeans (2003-09-27 15:37) [8]если да кобы....
← →
mikeee (2003-10-06 00:02) [9]из всех вариантов самый доступный и понятный у zee , а вообще что бы програмировать на дельфях, сначало изучи работу со строками на паскале, без этого тебе некуда!!!
← →
default (2003-10-06 18:37) [10]
можно так, если дата задаётся в формате
dd.mm.yyyy
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TDateType = packed record
Day: Array[1..2] of Char;
DecSep1: Char;
Month: Array[1..2] of Char;
DecSep2: Char;
Year: Array[1..4] of Char;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
S := "05.11.1983";
Edit1.Text := TDateType(Pointer(S)^).Day;
Edit2.Text := TDateType(Pointer(S)^).Month;
Edit3.Text := TDateType(Pointer(S)^).Year;
end;
end.
← →
mikeee (2003-10-06 20:27) [11]так быстрее всего
var
s,s1:string;
begin
S:="06.10.2003" ;
edit1.text:=copy(s,1,2);
edit2.text:=copy(s,4,2);
edit3.text:=copy(s,7,10);
end;
← →
Palladin (2003-10-06 20:45) [12]
> mikeee © (06.10.03 20:27) [11]
нет, быстрее всего у default © (06.10.03 18:37) [10]
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c