AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datum mit Datum austauschen

Ein Thema von aaron · begonnen am 14. Apr 2008 · letzter Beitrag vom 18. Apr 2008
Antwort Antwort
Seite 2 von 3     12 3      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Datum mit Datum austauschen

  Alt 15. Apr 2008, 13:07
Hallo,

sl: TStringList;

Delphi-Quellcode:
sl.Delimiter:= ' ';
sl.DelimitedText:= 'Das ist ein Text';
-> in sl.Items hast du jetzt 4 Strings


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Datum mit Datum austauschen

  Alt 15. Apr 2008, 13:09
Eher
Delphi-Quellcode:
sl: TStrings;

sl := TStringList.Create;
sl.Delimiter:= ' ';
sl.DelimitedText:= 'Das ist ein Text';
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Datum mit Datum austauschen

  Alt 15. Apr 2008, 13:11
Ha,

auch ein Fehler DelimiteText -> DelimitedText


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Datum mit Datum austauschen

  Alt 15. Apr 2008, 13:12
Sch... Tippfehler

BTW. .StrictDelimiter := False sollte reichen
Markus Kinzler
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#15

Re: Datum mit Datum austauschen

  Alt 15. Apr 2008, 22:57
Hallo und danke für eure Antworten.
Jetzt muss ich das nur noch zusammen bekommen.
freundliche Grüße
Aaron
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Datum mit Datum austauschen

  Alt 17. Apr 2008, 00:28
Hallo
ich habs mit euren Beispielen nicht hinbekommen, habe ein Beispiel gefunden mit dem ich schonmal aus einem String Zahlen extrahieren kann:

Delphi-Quellcode:
type
  TCharSet = set of Char;

function StripNonConforming(const S: string;
  const ValidChars: TCharSet): string;
var
  DestI: Integer;
  SourceI: Integer;
begin
  SetLength(Result, Length(S));
  DestI := 0;
  for SourceI := 1 to Length(S) do
    if S[SourceI] in ValidChars then
    begin
      Inc(DestI);
      Result[DestI] := S[SourceI]
    end;
  SetLength(Result, DestI)
end;

function StripNonNumeric(const S: string): string;
begin
  Result := StripNonConforming(S, ['0'..'9'])
end;

procedure TForm3.Button2Click(Sender: TObject);
begin
showmessage(StripNonConforming('TEST TEST 12.11.2008 Test Test',['0'..'9']));
end;
Nun müßte ich nur noch wissen wie ich daraus wieder ein Datum machen kann.



Freundliche Grüße
Aaron
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Datum mit Datum austauschen

  Alt 17. Apr 2008, 02:23
Hallo,
ich habe es nun so gemacht, leider funktioniert das nicht sobald auch nur ein Punkt im String steht.
Wenn nur ein Datum drinnen steht funktioniert es.

Delphi-Quellcode:
sl := TStringList.Create;
sl.DelimitedText:= StringGrid1.Cells[1, StringGrid1.Row];
sl.DelimitedText := StripNonConforming(sl.DelimitedText, ['0'..'9','.']);
if StrToDate(sl.DelimitedText) = Date then begin
StringGrid1.Cells[1, StringGrid1.Row] := StringReplace(StringGrid1.Cells[1, StringGrid1.Row],sl.DelimitedText,StringGrid1.Cells[2, StringGrid1.Row],[rfReplaceAll, rfIgnoreCase]);
Was mache ich falsch oder bin ich auf einem komplett falschen Weg?

Freundliche grüße
Aaron
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Datum mit Datum austauschen

  Alt 17. Apr 2008, 11:27
Hallo,
sorry, ich weiß es ist unhöflich nach so kurzer Zeit zu pushen, leider brauche ich ganz, ganz superdringend eine Antwort bzw. Hilfe.

Habe auch hiermit rumprobiert, leider ohne Ergolg:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var d,d1: String;
    S: TDateTime;
begin
d:=(StripNonConforming('TEST TEST 12.11.2055 Test.',['0'..'9']));
d1:=Copy(d,1,2)+'.'+Copy(d,3,2)+'.'+Copy(d,5,2);
s:=StrToDate(d1);
ShowMessage(FormatDateTime('ddmmyyyy',s));
end;
Zitat von hoika:
Hallo,

der Text sollte intern ohne das Datum (nur als Platzhalter)
gespeichert sein. Das Datum wird extra gespeichert.
Beim Füllen des StringGrids wird dann der Text zusammengebaut.
Das geht leider auch nicht weil das Datum mitten im Text stehen kann (an keiner festen Stelle)

Freundliche Grüße
Aaron
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Datum mit Datum austauschen

  Alt 18. Apr 2008, 13:48
Hilfe !!!
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#20

Re: Datum mit Datum austauschen

  Alt 18. Apr 2008, 14:24
Ich hätte da mal einen ganz anderen vorschlag. Im Kern benötigst du ja nur die Position eines in einem String vorkommenden Datums, damit kannst du dann das alte Datum entfernen und ein neues einfügen.

Ersetze in einer Kopie deiner Zeichenkette alle numerischen Zeichen durch ein einheitliches Zeichen, z.Bsp. "0". Dann kommt an der Stelle, wo vorher das Datum stand etwas heraus wie: "00.00.0000".

Danach kannst du dann ganz einfach suchen mit iPos := Pos('00.00.0000', sKopieVonMeinString); Durch System.Delete(sMeinString, iPos, 10) löschst du das alte Datum und mit System.Insert(sDasDatum, sMeinString, iPos) fügst du das neue Datum an der gleichen Stelle ein.

Gruß
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz