home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------- */
- /* DEF.C */
- /* ------------------------------------------------- */
- #include "def.h"
-
- char Leer[55] = "_______________________________" +
- "_______________________";
-
- /* ------------------------------------------------- */
- /* Modulname : toright */
- /* Aufgabe : Rechtsbündigmachen eines Strings */
- /* bei angegebener Länge */
- /* ------------------------------------------------- */
- /* Parameter */
- /* Eingabe : *string : Adresse des zu konver- */
- /* tierenden Strings */
- /* laenge : Gewünschte Länge des */
- /* Strings */
- /* Ausgabe : *string : Adresse des konvertierten */
- /* Strings */
- /* ------------------------------------------------- */
- void toright(char *string, int laenge)
- {
- char help[55];
- /* Leerzeichen linksbündig einfügen: */
- strcpy(help, Leer + ((strlen(Leer) -
- (laenge - strlen(string)))));
- /* Adreßrechnung, Teilstring kopieren */
- strcat(help, string); /* String anhängen */
- strcpy(string, help); /* String zurückkopieren */
- } /* toright */
-
- /* ------------------------------------------------- */
- /* Modulname : mkstring */
- /* Aufgabe : Erstellen eines Strings, der den */
- /* Filenamen und die Attribute des */
- /* übergebenen File-Control-Blockes */
- /* enthält */
- /* ------------------------------------------------- */
- /* Parameter */
- /* Ein/Ausgabe : *filedes : Adresse des zu erstel- */
- /* lenden Strings */
- /* Eingabe : datei : DOS: Zu verarbeitender */
- /* File-Control-Block */
- /* ------------------------------------------------- */
-
- void mkstring(char *filedes, struct ffblk datei)
- {
- char helpstr[10]; /* Hilfsstring */
- long help; /* Zwischenspeicher */
-
- strcpy(filedes, datei.ff_name);
- /* File-Name nach filedes */
- strcat(filedes, Leer+(strlen(Leer)-
- (13-strlen(filedes))));
- /* Leerzeichen auffüllen */
-
- ltoa(datei.ff_fsize, helpstr, 10);
- /* File-Size nach helpstr */
- toright(helpstr, 8); /* rechtsbündig machen */
- strcat(filedes, helpstr);/* File-Size nach filedes */
- strcat(filedes, SPACE);
-
- /* Datum aufbereiten */
- help = datei.ff_fdate;
- help &= 0x1F; /* Bits 0..4 => Tag */
- strcpy(helpstr, "0");
- /* Tag in String (ggf. mit führender Null) */
- /* umwandeln */
- help < 10 ? (ltoa(help, helpstr+1, 10))
- : (ltoa(help, helpstr, 10));
- strcat(filedes, helpstr);
- strcat(filedes, ".");
- help = datei.ff_fdate; /* Bits 5..8 => Monat */
- help >>= 5;
- help &= 0x0F; /* Monat ausblenden */
- strcpy(helpstr, "0");
- /* Monat in String (ggf. mit führender Null) */
- /* umwandeln */
- help < 10 ? (ltoa(help, helpstr+1, 10))
- : (ltoa(help, helpstr, 10));
- strcat(filedes, helpstr);
- strcat(filedes, ".");
- help = datei.ff_fdate;
- /* Bits 9..15 => Jahre seit 1980 */
- help >>= 9;
- help &= 0x7F; /* Jahr ausblenden */
- help += 1980; /* Jahr = Jahr + 1980 */
- ltoa(help, helpstr, 10);
- /* Jahr in String umwandeln */
- strcat(filedes, helpstr);
- strcat(filedes, SPACE);
-
- /* Zeit aufbereiten */
- help = datei.ff_ftime;
- /* Bits 11..15 => Stunden */
- help >>= 11;
- help &= 0x1F; /* Stunde ausblenden */
- strcpy(helpstr, "0");
- /* Stunde in String (ggf. mit führender Null) */
- /* umwandeln */
- help < 10 ? (ltoa(help, helpstr+1, 10))
- : (ltoa(help, helpstr, 10));
- strcat(filedes, helpstr);
- strcat(filedes, ":");
- help = datei.ff_ftime; /* Bits 5..10 => Minuten */
- help >>= 5;
- help &= 0x3F; /* Minuten ausblenden */
- strcpy(helpstr, "0");
- /* Minuten in String (ggf. mit führender Null) */
- /* umwandeln */
- help < 10 ? (ltoa(help, helpstr+1, 10))
- : (ltoa(help, helpstr, 10));
- strcat(filedes, helpstr);
- } /* mkstring */
- /* ------------------------------------------------- */
- /* Ende von DEF.C */
-
-
-