Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bedingung: nächster Monat beginnt (https://www.delphipraxis.net/157074-bedingung-naechster-monat-beginnt.html)

Newcomer91 28. Dez 2010 11:00

Bedingung: nächster Monat beginnt
 
Morgen, ich habe mir überlegt ein älteres Programm von mir zu optimieren.
Unzwar dient es mir als kleinen Notizblock in dem ich alles reinschreib.
Gespeichert wird es derzeit noch alles in einer Textdatei 'Output.txt',
dies soll sich allerdings ändern.
Ich möchte dass grundsätzlich alles nach Monaten sortiert werden soll.
Mein Programm soll also merken wann ein neuer Monat beginnt und automatisch
eine passende textdatei erstellen, und ab sofort alle Strings die ich speichern
möchte, automatisch auf diese neue Textdatei verweisen.

Wie gehe ich es am besten an?
Ich möchte keine fertigen Quellcodes, Anregungen, Vorschläge sind erwünscht.

Liebe Grüße

New

Klaus01 28. Dez 2010 11:07

AW: Bedingung: nächster Monat beginnt
 
Ich würde es etwas anders angehen.

Ist die Datei zum aktuellen Monat vorhanden schreibe hinein.
Ist die Datei zum aktuellen Monat nicht vorhanden (neuer Monat angefangen) erstelle sie
und schreibe hinein.

Grüße
Klaus

alfold 28. Dez 2010 11:08

AW: Bedingung: nächster Monat beginnt
 
Hi, du fragst im Datum nach den Monat/Jahr, suchst ob eine Datei mit den Namen Monat/Jahr vorhanden ist. Wenn nicht wird sie erstellt und nun wird immer in dieser Datei geschrieben. Ändert sich der Monat/Jahr wird wieder eine neue erstellt usw.
Aber auch das Jahr mit angeben.

Gruss alfold

Newcomer91 28. Dez 2010 11:09

AW: Bedingung: nächster Monat beginnt
 
Sollte ich dazu den DateTimePicker benutzen?

himitsu 28. Dez 2010 11:14

AW: Bedingung: nächster Monat beginnt
 
Wozu eine Komponente, in welcher man irgendein Datum angeben kann?

aktuelles Datum = Delphi-Referenz durchsuchenNow

alfold 28. Dez 2010 11:16

AW: Bedingung: nächster Monat beginnt
 
Das bleibt eigentlich Dir überlassen, wichtig ist das Du Monat+Jahr zum vergleich herranziehst! :wink:

Gruss alfold

Newcomer91 28. Dez 2010 11:21

AW: Bedingung: nächster Monat beginnt
 
Ich verstehe.

Müsste ich quasi in dem onclickereignis in welchem ich abspeichere diese Bedingung einbauen.

Nun, wie geh ichs an? Eine verschachtelte If bedingung mit einer variable fürs jahr und einer für den monat?

DeddyH 28. Dez 2010 11:24

AW: Bedingung: nächster Monat beginnt
 
Ohne Komponente:
Delphi-Quellcode:
function CurrentMonthFileName(const DestDir: string): string;
const MY_EXTENSION = 'txt'; //gewünschte Dateiendung
begin
  Result := Format('%s%s.%s',[IncludeTrailingPathDelimiter(DestDir),
                              FormatDateTime('yyyy-mm',Date),
                              MY_EXTENSION]);
end;

Newcomer91 28. Dez 2010 11:26

AW: Bedingung: nächster Monat beginnt
 
Okay, dankesehr.
Aber ich wollt doch keinen fertigen code ;/

Nun gut, ich werde es ausprobieren ;)

alfold 28. Dez 2010 11:26

AW: Bedingung: nächster Monat beginnt
 
Wie Du den Namen der Datei anlegst? Wenn ich sowas mache verwende ich einfach
z.B. als Dateinamen 'Monat_Jahr.txt' 11_2010.txt

beim Prüfen ist es ne kleine routine die den String dann vergleicht ob vorhanden oder neu anlegen muss.

Gruss alfold

Newcomer91 28. Dez 2010 12:10

AW: Bedingung: nächster Monat beginnt
 
Okay, ich probiers.

Newcomer91 28. Dez 2010 13:04

AW: Bedingung: nächster Monat beginnt
 
Problem gelöst, danke an alle ;)

Delphi-Quellcode:
function CurrentMonthFileName(const DestDir: string): string;
const MY_EXTENSION = 'txt';
begin
  Result := Format('%s%s.%s',[IncludeTrailingPathDelimiter(DestDir),
                              FormatDateTime('yyyy-mm',Date),
                              MY_EXTENSION]);
end;
hats gebracht ;)

skh 28. Dez 2010 14:13

AW: Bedingung: nächster Monat beginnt
 
noch eine Alternative zu deinem Progrämmchen..

Gib mal in deiner Textdatei in der ersten Zeile folgendes ein:

.LOG

anschliessend abspeicherm und neu öffnen
jetzt steht nach jedem NEU-ÖFFNEN am Ende der letzten Textzeile
die aktuelle Uhrzeit und das Datum

hitzi 28. Dez 2010 14:19

AW: Bedingung: nächster Monat beginnt
 
Zitat:

Zitat von skh (Beitrag 1070795)
.LOG

Funktioniert tatsächlich :shock: Was ist der Sinn hinter dieser versteckten Funktion? Was ist wenn ich wirklich mal .LOG im Texteditor abspeichern will ohne dann immer das Datum und die Zeit mit an gehangen zu bekommen?

Newcomer91 28. Dez 2010 14:50

AW: Bedingung: nächster Monat beginnt
 
Cool, hätt ich das mal eher gewusst. Hab Das Datum und Uhrzeit ding mit DateandTime gelöst. ;)
geht beides.

skh 28. Dez 2010 15:45

AW: Bedingung: nächster Monat beginnt
 
Zitat:

Zitat von hitzi (Beitrag 1070798)
Zitat:

Zitat von skh (Beitrag 1070795)
.LOG

Funktioniert tatsächlich :shock: Was ist der Sinn hinter dieser versteckten Funktion? Was ist wenn ich wirklich mal .LOG im Texteditor abspeichern will ohne dann immer das Datum und die Zeit mit an gehangen zu bekommen?



:arrow: da passiert nichts, es sei denn du schreibst den Eintrag an den Anfang der Datei!!

Sir Rufo 28. Dez 2010 15:55

AW: Bedingung: nächster Monat beginnt
 
Zitat:

Zitat von skh (Beitrag 1070795)
noch eine Alternative zu deinem Progrämmchen..

Gib mal in deiner Textdatei in der ersten Zeile folgendes ein:

.LOG

anschliessend abspeicherm und neu öffnen
jetzt steht nach jedem NEU-ÖFFNEN am Ende der letzten Textzeile
die aktuelle Uhrzeit und das Datum

:warn: Das ist aber eine Funktion des Windows-Text-Editors und keine Funktion des Betriebssystems.

Bei einem x-beliebigen anderen Editor wird da nichts passieren (es sei denn, die hätten das auch eingebaut)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 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