-
Gross-/Kleinschreibung bei Dateien im IFS
Hallo Welt
In einem Feld in einem Displayfile wird Pfad + Name einer Datei im IFS eingegeben. Die Gross-/Kleinschreibung spielt dabei keine Rolle, denn das Dateisystem findet die Datei immer case-insensitiv.
Jetzt soll dieser Dateiname in einem physischen File gespeichert werden, aber nicht so wie er eingegeben worden ist, sondern so wie er tatsächlich im IFS steht, wenn man ihn z.B. mit WRKLNK anschaut.
Beispiel:
Eingabe: /temp/xyz.jpg
Name im IFS: /Temp/XYZ.JPG
Gespeichert werden soll /Temp/XYZ.JPG.
Gibt es irgendein API oder sonst etwas, das den "richtigen" Namen anhand der Eingabe zurückliefern kann? Wir haben bis jetzt leider keine Möglichkeit gefunden.
Schöne Grüsse aus der Schweiz
Dächsle
-
Du kannst die Datei mit ls oder find in eine Datei umleiten und daraus den Namen lesen.
Wir nehmen den Namen, bauen Ihn in Groß Klein um und machen ein rn (rename).
Dadurch sind 'unsere' Regeln eingehalten und ich weis auch gleich ob es das OBJ wirklich gibt.
Der Pfad sollte natürlich schon so existieren (als /Temp statt als /temp) sonst ist der aufwand etwas größer.
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Hierzu musst du wohl die IFS-API's verwenden.
-
Versuche mal folgendes
PHP-Code:
h dftactgrp(*no) bnddir('QC2LE') Option( *NoDebugIO ) h datfmt(*dmy.) timfmt(*hms:) datedit(*dmy.) decedit('0,') debug(*yes) fxxwork if F 255 Disk UsrOpn * Prozedurn-Def. extern für C-Api "system" d System pr 10i 0 extproc('system') d * value options(*string) d d Eingabe s 255 d File_Name s 255 d Befehl s 255 ixxwork kf i 1 255 Daten /Free System('crtpf mylib/xxwork rcdlen(255)' ); Eingabe = '/temp/xyz.jpg'; Befehl = 'qsh cmd(''ls ' + %Trim( Eingabe ) + ' >/qsys.lib/' + 'mylib.lib/xxwork.file/xxwork.mbr 2>/dev/null'')' ; SysTem( Befehl ); Open xxwork; Read xxwork; File_Name = Daten; *InLr = *on; /end-free
MyLib darf nicht die QTEMP !!! Sein
Gruß
Ronald
nicht schön, sollte aber funktioniren!
-
Das Problem bei der QSH ist, dass der Name der Datei und/oder des Pfades genau so wiedergegeben wird wie ich ihn eingebe.
Mache ich ein "ls FileName" ist die Ausgabe eben "FileName". Mache ich ein "ls filename" ist die Ausgabe "filename". Das selbe gilt auch für den "find".
-
hhm,
Baldur hat leider recht!
Dann siehe das als Fingerübung ;-)
-
Da helfen dann leider wirklich nur die C-API's, hier die Directory-Funktionen.
Allerdings gilt ja hier das selbe wie für die QSH.
Also musst du den Namen erst mal in die einzelnen Teile, getrennt durch "/" zerlegen.
Dann jeden Pfadteil mittels der OpenDir()/ReadDir()/CloseDir()-Funktion durchlesen bis du den richtigen Teil gefunden hast.
Der Vergleich muss natürlich dabei caseinsensitive erfolgen wobei hier die korrekte CCSID für die Konvertierung (upper->Lower o.ä.) wegen der Sonderzeichen berücksichtigt werden muss.
Similar Threads
-
By Hans Zuther in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 15-05-03, 15:38
-
By cicero22 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 22-04-03, 20:03
-
By GfD in forum NEWSboard Server Software
Antworten: 8
Letzter Beitrag: 04-02-03, 11:59
-
By mott in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 20-06-02, 10:24
-
By Joshua in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 12-02-01, 14:23
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks