home *** CD-ROM | disk | FTP | other *** search
- /********************************************************************/
- /**** ****/
- /**** ****/
- /**** Program : FileIO.c ****/
- /**** ****/
- /**** Version : 01.00 ****/
- /**** ****/
- /**** Erstversion : 01.07.1990 ****/
- /**** ****/
- /**** Letzte Änderung : 08.08.1990 ****/
- /**** ****/
- /**** Compiliert mit : siehe MAKEFILE ****/
- /**** ****/
- /**** Gelinkt mit : siehe MAKEFILE ****/
- /**** ****/
- /********************************************************************/
- /**** ****/
- /**** ****/
- /**** Copyright by RĂ¼diger Dreier ****/
- /**** ****/
- /**** ****/
- /********************************************************************/
-
- /* Einbinden der Include-Files */
- #include <exec/types.h>
- #include <stdio.h>
- #include <string.h>
- #include <proto/exec.h>
- #include <proto/dos.h>
- #include <stdlib.h>
-
- #define Leer(a) Write(a," ",1)
- #define Ret(a) Write(a,"\x0A",1)
-
-
- SHORT is_empty(char Zeichen)
- {
- if(Zeichen==' ' || Zeichen == ',' || Zeichen == 9 || Zeichen == 10)return(1);
- return(0);
- }
-
-
- VOID Werte_Laden(char *Name)
- {
- BPTR Eingabe;
- char String[50];
- LONG i,j;
- DOUBLE Wert;
-
- Eingabe=Open(Name,MODE_OLDFILE);
- if(!Eingabe)return;
-
- ZahlEinlesen(String,Eingabe);
- UmwStoF(&Wert,String);
- Zeilen=(LONG)Wert;
-
- ZahlEinlesen(String,Eingabe);
- UmwStoF(&Wert,String);
- Spalten=(LONG)Wert;
-
- Breite=620/Spalten;
- Hoehe =80/Zeilen;
-
- for(i=0;i<Zeilen;i++)
- {
- for(j=0;j<Spalten;j++)
- {
- ZahlEinlesen(String,Eingabe);
- UmwStoF(&Wert,String);
- MatrixE[i][j]=Wert;
- }
- }
- Close(Eingabe);
- }
-
-
- VOID ZahlEinlesen(char *String, BPTR Eingabe)
- {
- SHORT flag=1;
- LONG Nummer;
- char Zeichen;
-
- for(Nummer=0;Nummer<=49;Nummer++)
- {
- String[Nummer]=0;
- }
-
- while(flag)
- {
- Nummer=Read(Eingabe,&Zeichen,1);
- flag=is_empty(Zeichen);
- if(Nummer==0)
- {
- flag=0;
- Zeichen=0;
- }
- }
-
- if(!is_empty(Zeichen))String[strlen(String)]=Zeichen;
- while(!flag)
- {
- Nummer=Read(Eingabe,&Zeichen,1);
- flag=is_empty(Zeichen);
- if(Nummer==0)flag=1;
- if(!flag)
- {
- String[strlen(String)]=Zeichen;
- }
- }
- }
-
-
- VOID Werte_Speichern(char *Name)
- {
- BPTR Ausgabe;
- char String[50];
- LONG i,j;
- DOUBLE Wert;
-
- Ausgabe=Open(Name,MODE_NEWFILE);
- if(!Ausgabe)return;
-
- Wert=(DOUBLE)Zeilen;
- UmwFtoS(String,&Wert,5);
- Write(Ausgabe,String,strlen(String));
- Leer(Ausgabe);
- Wert=(DOUBLE)Spalten;
- UmwFtoS(String,&Wert,5);
- Write(Ausgabe,String,strlen(String));
- Ret(Ausgabe);
- for(i=0;i<Zeilen;i++)
- {
- for(j=0;j<Spalten;j++)
- {
- Wert=(DOUBLE)MatrixE[i][j];
- UmwFtoS(String,&Wert,5);
- Write(Ausgabe,String,strlen(String));
- Leer(Ausgabe);
- }
- Ret(Ausgabe);
- }
- Close(Ausgabe);
- }
-
-
-
-
-
-
-
-