-
Sorry, aber auch wenn ich mich hier jetzt beschämend als unwissend oute. Ich versteh's nicht.
dh=opendir(pathtolist + %trim(Pfadname));
ist mir klar.
??? - Zeile ist vom Inhalt klar, aber wo und wie nicht?
ich hab jetzt versucht möglichst viel über "Prototypen" zu lesen, kriegs aber nicht hin.   
- das mit dem "X60" ist wohl aus meinen Versuchen übrig geblieben.
-
Das OPTIONS(*STRING) gehört zu den String-Parameter der Prozeduren, siehe hier oder hier.
-
Danke Pikachu für die Links. Waren auch wieder sehr lehrreich und eine Hilfestütze,
auch wenn sie mir nicht direkt geholfen haben . Die Aufrufe dort waren auch immer mit Konstanten.
Letztdentlich hab ichs dann hinbekommen. Mein Aufruf mit
jedem ENTRY-Parameter funktioniert jetzt so, das die Datei gefüllt wird.
DANKE nochmal an Alle!!!
Code:
H DftActGrp(*No) Option(*SrcStmt : *NoDebugIO)
FDIROUTPUT O E DISK
D PATHTOLIST C CONST('/home/SVN/src_diso1/trunk/')
D*
D* Directory Entry Structure (dirent)
D*
D*
D p_dirent s *
D dirent ds based(p_dirent)
D d_reserv1 16A
D d_reserv2 10U 0
D d_fileno 10U 0
D d_reclen 10U 0
D d_reserv3 10I 0
D d_reserv4 8A
D d_nlsinfo 12A
D nls_ccsid 10I 0 OVERLAY(d_nlsinfo:1)
D nls_cntry 2A OVERLAY(d_nlsinfo:5)
D nls_lang 3A OVERLAY(d_nlsinfo:7)
D nls_reserv 3A OVERLAY(d_nlsinfo:10)
D d_namelen 10U 0
D d_name 640A
D*------------------------------------------------------------
D* Öffnen Directory
D* DIR *opendir(const char *dirname)
D*------------------------------------------------------------
D opendir PR * EXTPROC('opendir')
D dirname * VALUE options(*string)
D*------------------------------------------------------------
D* Read Directory Entry
D* struct dirent *readdir(DIR *dirp)
D*------------------------------------------------------------
D readdir PR * EXTPROC('readdir')
D dirp * VALUE
D* a few local variables...
D dir S *
D PathName S 256A
D Name S 256A
D PATH S 256A
C *ENTRY PLIST
C PARM P_PFADNAME 25
C* Step1: Öffnen Directory.
c eval Pathname = pathtolist+%trim(P_PFADNAME)+x'00'
C eval dir = opendir(%addr(PathName))
C if dir = *NULL
c eval Msg = 'Cant open directory'
c dsply Msg 50
c eval *INLR = *ON
c Return
c endif
C* Step2: Lesen Einträge von einem Directory (in einem Loop)
c eval p_dirent = readdir(dir)
c dow p_dirent <> *NULL
C* FIXME: Dieser Code kann nur Dateien mit einer namenslänge von 256 Stellen behandeln
c if d_namelen < 256
c eval ZEILE = %subst(d_name:1:d_namelen)
c* movel Name dsply_me 52
c write DIROUTPUTF
c endif
c eval p_dirent = readdir(dir)
c enddo
C* Step3: End Program
c eval *inlr = *On
-
Einfacher ist folgendes:
D opendir PR * EXTPROC('opendir')
D dirname 512 CONST options(*string)
eval dir = opendir(pathtolist+%trim(P_PFADNAME))
Similar Threads
-
By stoerfang in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 24-01-13, 10:27
-
By Bratmaxxe in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 24-01-07, 19:17
-
By wrkas400 in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 11-01-07, 11:12
-
By Freezer in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-10-06, 21:02
-
By cbe in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 24-08-06, 17:30
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