Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

Расчипление строки   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
7-51535
Echelon
2003-08-01 13:50
2003.10.16
RegisterServiceProcess


1-51323
DimChan
2003-10-06 07:03
2003.10.16
Курсор в конец строки


6-51394
Аноним
2003-08-20 22:25
2003.10.16
DNS запрос


1-51321
PsoFT
2003-10-03 11:47
2003.10.16
SENDKEYS


8-51354
Пушкина А.
2003-06-10 16:00
2003.10.16
Просмотр графических файлов Photoshop