Textdatei bearbeiten

Tutorials.at
Verfügbare Informationen zu "Textdatei bearbeiten"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: tarzipan7 - Xin - DrPhil_Guth
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 11
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Textdatei bearbeiten
  • Letzte Antwort: vor 16 Jahren, 3 Monaten, 14 Tagen, 16 Stunden, 30 Minuten
  • Alle Beiträge und Antworten zu "Textdatei bearbeiten"

    Re: Textdatei bearbeiten

    tarzipan7 - 20.11.2007, 13:47

    Textdatei bearbeiten
    Hallo, bin absoluter Anfänger auf C!
    Muss für eine WinCC Applikation welche die C-Sprache integriert hat, eine Funktion schreiben.
    Zielsetzung:
    In vorhandene Datei am Schluss nach einer Leerzeile aktuelles Datum und Zeit eintragen, dan den Cursor auf die nächste Zeile setzen, damit der Bediener direkt seinen Kommentar eingeben kann.
    Den Aufruf der Datei sowie Eintrag Datum und Zeit habe ich geschafft, nur leider wird der Eintrag immer am Anfang der Datei eingefügt.

    Danke im voraus...
    gruss
    martin



    Re: Textdatei bearbeiten

    Xin - 20.11.2007, 19:34

    Re: Textdatei bearbeiten
    tarzipan7 hat folgendes geschrieben: Hallo, bin absoluter Anfänger auf C!
    Muss für eine WinCC Applikation welche die C-Sprache integriert hat, eine Funktion schreiben.
    Zielsetzung:
    In vorhandene Datei am Schluss nach einer Leerzeile aktuelles Datum und Zeit eintragen, dan den Cursor auf die nächste Zeile setzen, damit der Bediener direkt seinen Kommentar eingeben kann.
    Den Aufruf der Datei sowie Eintrag Datum und Zeit habe ich geschafft, nur leider wird der Eintrag immer am Anfang der Datei eingefügt.

    Danke im voraus...
    gruss
    martin
    Was immer eine WinCC-Applikation ist...!?

    Was bedeutet am Anfang eingefügt? Die ersten Zeichen werden überschrieben, nehme ich an.
    Anscheinend öffnest Du die Datei und befindest Dich am Anfang. Du musst also erst an das Ende der Datei springen.
    Da ich nicht weiß, wie Du auf die Datei zugreifst, nehme ich mal die Standard C Funktionen an: fseek() ist hier Dein Schlüssel.



    Re: Textdatei bearbeiten

    DrPhil_Guth - 23.11.2007, 19:53


    Eine einfachere möglichkeit ist auch, die funktion mit der richtigen option von fopen() zu öffnen.
    du benutzt fopen wahrscheinlich mit der option "w", "wb" oder "w+" oder so ähnlich. So kannst du die datei ganz normal beschreiben, da kannst du Xins möglichkeit mit fseek() verwenden.
    Einfacher wäre es aber, wenn du die datei mit "a" oder "a+", dann kommen alle schreiboperationen automatisch ans ende. Der nachteil ist, dass du nicht an den anfang schreiben kannst. Für deine Aufgabe allerdings völlig ausreichend.



    Re: Textdatei bearbeiten

    tarzipan7 - 27.11.2007, 17:39


    Vielen Dank für die Info's

    Bin immer noch am Testen, Applikation stürzt immer ab. Im Log-file kommt so ne Meldung "access violation" bei ntdll.dll.

    so ein krampf :evil:



    Re: Textdatei bearbeiten

    Xin - 27.11.2007, 17:44


    tarzipan7 hat folgendes geschrieben: Vielen Dank für die Info's

    Bin immer noch am Testen, Applikation stürzt immer ab. Im Log-file kommt so ne Meldung "access violation" bei ntdll.dll.

    so ein krampf :evil:
    Als Linux-Programmierer kann ich zu ntdll.dll nix sagen, aber Access Violation schreit nach verbogenen Zeigern.
    Kontrolliere, dass alle Zeiger gültige Werte haben, bevor Du sie nutzt.



    Re: Textdatei bearbeiten

    DrPhil_Guth - 27.11.2007, 20:31


    Glücklicherweise hab ich das mal bei einem Programm gesehen, das liegt gar nicht an der ntdll.dll, sondern an den funktionen die darin liegen. Diese sind beispielsweise malloc() und free(), und ich vermute auch andere Funktionen der Standard library. Das bedeutet, du wirst wahrscheinlich irgendwo einen Speicherüberlauf haben. Ein heißer tipp sind immer c- strings und Arrays.



    Re: Textdatei bearbeiten

    tarzipan7 - 30.11.2007, 11:27


    Hallo zusammen,

    Habe eine Lösung gefunden, weiss zwar nicht was genau da drin abläuft:

    {
    extern char szProjectPath[];
    extern char szDate[24];
    extern char szTime[24];
    HWND Handle = NULL;

    char* path = SysMalloc(120);
    char* cmd = SysMalloc(120);
    char* pp = SysMalloc(120);
    char *instanceName = GetTagChar("P_InstanceName");
    FILE *datei;

    printf ("InstanceName: %s \r\n",instanceName);

    //Open Text File for current Object
    strcpy (pp, &szProjectPath[0]);
    printf ("ProjectPath: %s \r\n",pp);

    sprintf(path , "%s\\REM\\%sTXT",pp, instanceName);
    printf ("Path: %s \r\n",path);
    datei = fopen(path, "a+-");
    if (datei != NULL)
    {
    fprintf(datei, "\n%s, %s", szDate, szTime);
    fclose(datei);
    }

    sprintf(cmd, "NOTEPAD.EXE %s\\REM\\%sTXT",pp, instanceName);
    printf ("ProjectPath: %s \r\n",cmd);

    Handle = FindWindow("Notepad",NULL);
    if (Handle)
    {
    printf("Handle: %d\r\n", Handle);
    SetForegroundWindow(Handle);
    }
    else
    {
    ProgramExecute(cmd);
    }

    }


    Jetzt fehlt mir nur noch das der Cursor am Ende steht.

    gruss und danke



    Re: Textdatei bearbeiten

    tarzipan7 - 12.12.2007, 07:11


    hallo
    kann mir denn wer sagen, wie ich den cursor ans ende der datei bringe?

    gruss



    Re: Textdatei bearbeiten

    Xin - 12.12.2007, 10:52


    tarzipan7 hat folgendes geschrieben: Habe eine Lösung gefunden, weiss zwar nicht was genau da drin abläuft:
    Wieso glaubst Du dann eine Lösung gefunden zu haben!?

    tarzipan7 hat folgendes geschrieben: hallo
    kann mir denn wer sagen, wie ich den cursor ans ende der datei bringe?

    Schau Dir fseek an, bzw. die fopen wurde doch mit "a" gerufen!? Ergo solltest Du am Ende der Datei sein.

    Wirf google man für die C-Standardbibliothek für fopen, fclose, fseek und fprintf an. Für die Uhrzeit, such mal nach "time.h".



    Re: Textdatei bearbeiten

    tarzipan7 - 12.12.2007, 16:39


    Die Einträge Zeit und Datum klappen gut.
    Nach dem "a" ist ja ein fclose(datei);

    Mit ProgramExecute(cmd) wird der Editor Notepad gestartet mit der dazu verknüpften Datei. Und dann habe ich den Cursor immer am Anfang

    gruss



    Re: Textdatei bearbeiten

    Xin - 12.12.2007, 16:49


    tarzipan7 hat folgendes geschrieben: Die Einträge Zeit und Datum klappen gut.
    Nach dem "a" ist ja ein fclose(datei);

    Mit ProgramExecute(cmd) wird der Editor Notepad gestartet mit der dazu verknüpften Datei. Und dann habe ich den Cursor immer am Anfang
    Ah... ich dachte Du meinstest mit Cursor den Filepointer.

    Du willst den Cursor von Notepad steuern, da sehe Probleme auf dich zukommen, da Du in eine Software eingreifen möchtest, die nicht extern steuerbar ist - zumindest gehört Notepad meines Wissens nicht dazu.

    Such Dir einen programmierbaren Editor, der eine programmierbarere Schnittstelle anbietet.
    Das war auf dem Amiga sehr schön realisiert, da die meiste Software mit einem ARexx-Port ausgestattet war und man so beliebige Software fernsteuern konnte. Da schickte man "GOTO ENDOFTEXT" an den Editor und der Cursor war, wo man ihn haben wollte.

    Du könntest derartiges nun mit Word und VisualBasic for Applications versuchen. Ich bin sicher, dass man Word auch von C aus VBA Befehle injizieren kann, vermutlich muss man dafür nichtsmals Hacker sein, ich bin sicher, es gibt dafür C-Schnittstellen.
    Sollte diese Schnittstelle InjectVirusHere() heißen, würde mich das auch nicht mehr wundern ;-)



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Haha!^^ - gepostet von Dirty Oerty am Freitag 28.09.2007
    Großes Blender Problem!!! - gepostet von vpascal am Donnerstag 06.09.2007
    Mischen von Einträgen einer doppelt verketteten Liste - gepostet von Zuul am Mittwoch 21.03.2007
    Gute Ideen Mangelndes Fachwissen ( Spieleprogrammierung ) - gepostet von Zuul am Samstag 06.01.2007
    Eckige Klammern - gepostet von ohio am Freitag 30.06.2006
    Pfadbezeichnung - gepostet von Moritz am Mittwoch 07.11.2007
    Robot Carol - gepostet von Dragorad am Donnerstag 26.10.2006



    Ähnliche Beiträge wie "Textdatei bearbeiten"

    Kriegsberichte bearbeiten - Resident_Evil (Sonntag 19.11.2006)
    süße motive zum bearbeiten für euch - chrissy (Samstag 01.09.2007)
    Löschen/Bearbeiten einiger Beiträge - crazykoki (Mittwoch 22.11.2006)
    GFK Platinen Bearbeiten - MadJack (Mittwoch 22.02.2006)
    Bearbeiten des Forums - webdrohne (Freitag 07.04.2006)
    Halt Bilder bearbeiten! XD - Shadow of Light (Sonntag 16.12.2007)
    Bild bearbeiten - sunny3 (Freitag 31.08.2007)
    Textdatei - Zufallszeile auslesen. - Bene (Freitag 28.07.2006)
    Neue Karo, wie bearbeiten - masterfgee (Dienstag 24.07.2007)
    Post bearbeiten - Schnerrus (Freitag 11.08.2006)