Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - zeichen in string einfügen


Morpheus1572 - Sa 13.09.08 21:59
Titel: zeichen in string einfügen
moin,

ich steh grad mächtig im wald und meine brotkrumen sind von den bösen waldbewohnern aufgefressen worden.

ich habe einen string in dem ein datum steht (01012008).

wie mache ich daraus ein datum (01.01.2008) oder einen String (01.01.2008) beides ist mir recht, ich weiß nur grad nicht wo ich ansetzen soll.

Hat jemand nen brot für mich?

Thx Morph.


mkinzler - Sa 13.09.08 22:17

Mit Copy() zerlegen


Boldar - Sa 13.09.08 22:41


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var s1, s2: shortstring
cae Datum: tdate;
const Datumsstring = '12032006'///Datums-String
begin
s1 := datumsstring;
s2 := s1[1]+s1[2]+'.'+s1[3]+s1[4]+'.'+s1[5]+s1[6]+s1[7]+s1[8];
datum := strtodate(s2);
///....
end;


GTA-Place - Sa 13.09.08 23:10

Alternative: Insert


Delphi-Quelltext
1:
2:
3:
Datum := '01012000';
Insert('.', Datum, 3);
Insert('.', Datum, 6);


Sieht doch schöner aus :P


Boldar - Sa 13.09.08 23:21

user profile iconBoldar hat folgendes geschrieben:

Delphi-Quelltext
1:
s2 := s1[1]+s1[2]+'.'+s1[3]+s1[4]+'.'+s1[5]+s1[6]+s1[7]+s1[8];                    



Aber hier kann man die Struktur besser erkennen!

Dir fehlt der Sinn für echte Kunst!!!!^^


BenBE - So 14.09.08 01:55

GTA-Place's Variante ist schon die, die man i.d.R. nutzen sollte, da man sich hier einige unnötige String-Operationen spart.

Und in Bezug auf Kunst: Soll ich mal eben etwas ASM-Pointer-Hacking betreiben ::mrgreen:


Morpheus1572 - So 14.09.08 09:26

@GTA-Place: DAAAAAAANKE für den Happen! Jo, das war genau das was ich für meine Frage als Antwort brauchte. Ich war einfach nicht auf Insert gekommen. Hatte mit Copy() - wie mkinzler meinte - experimentiert, der Code wurde aber nur lännger und schlimmer.

Thx Morph.


Boldar - Mo 15.09.08 21:42

user profile iconBenBE hat folgendes geschrieben:

Und in Bezug auf Kunst: Soll ich mal eben etwas ASM-Pointer-Hacking betreiben ::mrgreen:


ja bitte, ist sicher ganz interessant! Aber dann wohl im OT!