automatische Formatierung von Zeitwerten aus txt-Dateien

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Rogni
Beiträge: 5
Registriert: Di, 06.04.2004 22:39

automatische Formatierung von Zeitwerten aus txt-Dateien

Beitrag von Rogni »

Hallo

Ich habe folgendes Problem:

Mit einem DOS-Programm werte ich einen Crosslauf aus. Für schönere Urkunden bietet das Programm den Datenexport als txt-Datei für Seriendrucke an.

Die Datenanbindung in Writer war schnell erstellt. Doch nun folgt das Problem: Die Zeiten werden als 26:15 oder 20:57 in der txt-Datei geliefert.
In der Datenquellenansicht wird diese Formatierung aber in 20:57:00 geändert. Schlimmer noch Zeiten über 24 Uhr werden völlig zerschossen: Aus 26:15 wird 02:15:00!!
Bei der Spaltenformatierung wird mir [HH]:MM:SS angezeigt. Beim Ändern auf Text ( @ ) wird mir die Zeit als Dezimalzahl des Tages dargestellt (z.B. 0,9).

Wie bringe ich OpenOffice dazu die txt-Dateien nicht zu formatieren oder zu interpretieren?

:?:
TenBaseT
****
Beiträge: 128
Registriert: Mo, 08.03.2004 10:01

Beitrag von TenBaseT »

Hei, kannst du nich einmal zwei oder drei Zeilen als Beispiel posten. Interessiert mich irgendwie.

Hans
Rogni
Beiträge: 5
Registriert: Di, 06.04.2004 22:39

Beitrag von Rogni »

Klar kann ich:

Die ersten drei Zeilen aus der txt-Datei:

KLASSE;STRECKE;VORNAME;NACHNAME;JG;VEREIN;PLATZK;PZK;PZG;LEISTUNG;ORT;DATUM;STNR;PLATZG
Seniorinnen W35;5 km Schloßlauf;Elisabeth;Reuter;68;Westfalia Osterwick;Erste;1;4;26:15;Rosendahl;03. April 2004;42;Vierte
Seniorinnen W40;5 km Schloßlauf;Gudrun;Michgehl;62;Osterwick;Erste;1;5;27:16;Rosendahl;03. April 2004;43;Fünfte
...

Hieraus macht OpenOffice auch eine schöne Datentabelle. Allerdings werden die Zeiten 26:15 und 27:16 in der Datenquellen-Ansicht dann falsch formatiert. OpenOffice interpretiert die Daten wohl als Uhrzeiten und ändert die Zeiten in dezimale Zahlen als Teil eines Tages und "verschluckt" dabei die Einser-Stellen. So wird aus allen Zeiten größer als 24:00 dann eine Uhrzeit früh Morgens... Aus 26 Minuten 15 Sekunden wird 02:15 Uhr - Aus 27:16 wird 03:16
Die Zeiten unter 24:00 werden dann nur in den Stellen verschoben aus 20 Minuten 17 Sekunden wird 20 Stunden 17 Minuten 00 Sekunden
Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib »

Hi,
das Einfachste wäre schon, wenn Du die Daten schon im Format SS:MM:SS liefern könntest, also 00:26:15, statt 26:15.
Wenn das nicht geht, muss man wohl irgendwas basteln. Eine Möglichkeit wäre, wenn Du das Textfile in eine SCALC-Tabelle statt einem Writer-Dokument einliest. Im Konvertierungs-Fenster, gibst Du ausser dem "wirklichen" Trennzeichen auch noch ":" bei "Andere" ein. Dann hast Du jedenfalls Minuten und Sekunden als einzelne Werte.
Die kannst Du jetzt wieder zu einem Textstring im Format MM:SS zusammensetzen,
Bsp:
=VERKETTEN(TEXT(Minutenzelle;"00");"00";TEXT(Sekundenzelle;"00"))
Wenn Du ein Zeit-Format brauchst, sieht es so auch:
=ZEIT(0;Minutenzelle;Sekundenzelle)
Was hier beachtet werden muss:
Die Spaltentitel verschieben sich beim Einlesen, da man ja aus einem Feld 2 macht.
Gruss Lib
Rogni
Beiträge: 5
Registriert: Di, 06.04.2004 22:39

Beitrag von Rogni »

Danke für eure Hilfe

Leider kann ich an den Quelldaten nichts ändern. Das DOS-Programm ist sehr begrenzt in seinen Möglichkeiten.

Die txt-Datei erst in CALC zu importieren und dann als Vorlage für den Seriendruck in Writer finde ich ein wenig unpraktikabel. Zur Zeit habe ich auch noch nicht das nötige Wissen, um ein Makro in OpenOffice zu schreiben.

Der Hinweis mit dem ":" als zusätzliches Trennzeichen in CALC hat mich aber auf eine weitere, für mich ausreichende, Lösung gebracht.
Ich habe den ":" als Dezimaltrennzeichen gewält. Dadurch wird die Zahl nicht als Uhrzeit sondern als Dezimalzahl interpretiert. Somit habe ich die Zeit mit einem Komma als Trennzeichen (Also von 27:15 in 27,15) - damit kann ich gut leben. Ich brauch die Zeit ja nur zum Urkundendruck und nicht zum weiterrechnen.

Gruß
Rogni
TenBaseT
****
Beiträge: 128
Registriert: Mo, 08.03.2004 10:01

Beitrag von TenBaseT »

Hmm, kann ich nicht nachvollziehen :? Bei mir sieht das gut aus. Liegt das etwa am OS? Ich verwende Linux und OO1.1.0

Ansonsten die Daten Konvertieren. Die TStringList aus Delphi eignet sich hervorragend für soetwas. Wenn es nzr für die eine Datei wäre, wär das in 10 Minuten erledigt.

Hans
Rogni
Beiträge: 5
Registriert: Di, 06.04.2004 22:39

Beitrag von Rogni »

Meine Version ist OO 1.1.1. unter Windows XP.

Ich habe bei Crossläufen (Leichtathletik) für jeden Lauf eine txt-Datei für den Urkundendruck und einen gewissen Zeitdruck dabei.
Ich muß erst alle Ergebnisse eingeben, ausdrucken und dann folgen die Urkunden. Das ganze im Zeitrahmen 0,5 bis 1 h nach dem jeweiligen Lauf.
Nicht zu vergessen sind Nachmeldungen und Urkunden-Neudrucke wegen Tippfehlern und Meldefehlern.
Diesmal konnte ich noch (relativ) schnell auf meine alte Word Version zurückgreifen - Dort wird die txt-Datei beim Seriendruck nicht interpretiert. Da ich aber auf OpenOffice komplett umsteigen möchte, brauche ich eine praktikable Lösung.

Angedacht habe ich schon eine komplette Auswertung unter OpenOffice mit Datenbankanbindung (MySQL) - Mal schauen wo meine freie Zeit bleibt.
TenBaseT
****
Beiträge: 128
Registriert: Mo, 08.03.2004 10:01

Beitrag von TenBaseT »

** BITTE TESTEN **

Mich würde ja einmal interessieren, ob dass nur bei Rogni so ist, oder ob das bei anderen Windowssystemen genau so ist. Wäre nett wenn andere dass auch einmal austesten könnten.

Hier das Beispiel:

Code: Alles auswählen

KLASSE;STRECKE;VORNAME;NACHNAME;JG;VEREIN;PLATZK;PZK;PZG;LEISTUNG;ORT;DATUM;STNR;PLATZG
Seniorinnen W35;5 km Schloßlauf;Elisabeth;Reuter;68;Westfalia Osterwick;Erste;1;4;26:15;Rosendahl;03. April 2004;42;Vierte
Seniorinnen W40;5 km Schloßlauf;Gudrun;Michgehl;62;Osterwick;Erste;1;5;27:16;Rosendahl;03. April 2004;43;Fünfte 
Alternative: Das nächste Wettrennen mit Linux auswerten :wink:

Hans
Rogni
Beiträge: 5
Registriert: Di, 06.04.2004 22:39

Beitrag von Rogni »

Alternative: Das nächste Wettrennen mit Linux auswerten
Ich hänge nicht sonderlich an Windows. Spiele nur gelegentlich. 8)

Ich habe es schon vor über einem Jahr mit einer SuSe-Distribution versucht. Ich hänge aber im Netzwerk mit einer Eumex-DSL Anlage. Damals gab es keine Möglichkeit mit Linux über die Eumex-Anlage ins Internet zu kommen.

:( Also erst mal Essig mit Linux
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hallo Hans,
** BITTE TESTEN **
kann den Fehler bestätigen (Win XP, OOo 1.1.1 und OOo 1.1.0). Die Zeiten werden gnadenlos gekürzt. Auch wenn das Format entsprechend angepasst wird, scheint es keine Wirkung zu haben ([HH].MM ).

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
TenBaseT
****
Beiträge: 128
Registriert: Mo, 08.03.2004 10:01

Beitrag von TenBaseT »

Rogni hat geschrieben:Damals gab es keine Möglichkeit mit Linux über die Eumex-Anlage ins Internet zu kommen.
Tipp, schau mal bei eBay rein, vielleicht findest du ja einen biligen Eumexerstaz.

Alles in allem sieht das wie ein echtes Windowsprob aus. Sollte man vielleicht mal weitergeben.

Bin ich froh, das ich mich @home nur mit Pinguinen rumschlage :?

[edit]
Nachtrag: Windows hat doch Defaulteinstellungen für ShortDateFormat, ShorTimeFormat, etc. (Ländereinstellungen) Hilft das, wenn man die auf das Lange Format abändert?
[/edit]

Hans im Glück :D
Antworten