- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 42

Thema: Raspbian C/C++ : fertige OpenFileDialog oder SaveFileDialog Komponenten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    hallo,
    ich bin nicht sicher, ob ich das richtig verstehe, denn ich kenne auch keinen X Server.
    ist das so in der Art zu verstehen...?

    FILE * fp;
    fp << system("zenity --file-selection");


  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Hallo,
    X-Server ist der 'Fensterverwalterer'. Normal startest Du die GUI mit startX.
    Eine Pipe mache ich normal mit popen auf.

    Hier ein ungetestetes Beispiel aus dem Kopf

    Code:
        FILE *f;
    
        if(!(f = popen("zenity --file-selection", "r"))){
          strcpy(Dateiname,"Falsch");        
          exit(1);
        }
        char Text[1024]="";
        fgets(Text, sizeof(Text), f);
        fclose(f);
        if(strlen(Text)<2){ //Kein Dateiname übergeben / Abbrechen geklickt, etc
            strcpy(Dateiname,"Falsch");
        }else{ //Dateiname sollte in Text stehen.
          strcpy(Dateiname,Text);
        }
    Damit würde ich mal probieren eine gewünschte Funktion zu bauen.
    Geändert von peterfido (17.06.2016 um 13:49 Uhr)
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    HaWe
    Gast
    danke, das sieht ja sehr bekannt aus:
    f = popen("zenity --file-selection", "r");
    ... genau gleich wie fopen!
    f = fopen("/path/filename", "r");
    schön, wenn man auf was bekanntes trifft

    Bevor ich jetzt 3 Stunden brauche , um zenity zu installieren, und dann klappts doch nicht ....

    Könnte das vlt einmal jemand vor-testen, der bereits zenity bei sich auf dem Pi installiert hat?

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Hallo,

    bei meinen Raspis ist das drauf. Evtl. ist es standard.?. Einfach mal den Befehl aufrufen und schauen, was passiert.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Zenity scheint auf Debian Betriebssystemen Standard zu sein.
    Hab ein bischen mit Peterfido's Code gespielt:
    Code:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main() {
      FILE *f;
      char Dateiname[1024] = ""; 
      int c;
    
    
      /* Zenity für File-Dialog benutzen */
      freopen("/dev/null", "w", stderr); // Warnungen von zenity ignorieren
      if(!(f = popen("zenity --file-selection", "r"))){
        strcpy(Dateiname, "Falsch");        
        exit(1);
      }
      freopen("/dev/tty", "w", stderr);
      fgets(Dateiname, sizeof(Dateiname), f);
      fclose(f);
      if(strlen(Dateiname) < 2){ //Kein Dateiname übergeben / Abbrechen geklickt, etc
        strcpy(Dateiname, "Falsch");
      }
    
    
      /* Inhalt der Datei ausgeben */
      printf("Dateiname: %s", Dateiname);
      Dateiname[strlen(Dateiname)-1] = '\0'; // '\n'-Stringende entfernen
      f = fopen(Dateiname, "r");
      if (f) {
        while ((c = getc(f)) != EOF) 
          putchar(c); 
        fclose(f);
      }
    }
    Geändert von Sisor (17.06.2016 um 20:18 Uhr)

  6. #6
    HaWe
    Gast
    bei der letzten GT Deinstallation scheint er mir das g++ gelöscht zu haben: ich kann nicht mehr mit g++ compilieren ("g++ not found")

    was ein Sch**ss.
    Jetzt muss ich erst mal schauen, wo ich ein altes Pi Image neu auf SD laden kann
    Linux: ich könnte ko**en.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Hallo,

    zum programmieren / rumtesten nutze ich einen extra Pi. Dieser hat alles Mögliche drauf und deinstalliert wird da normal nix. Wenn die Programme dann auf einem anderen Pi laufen sollen und irgendwas fehlt, installiere ich es da nach.

    Wenn nur g++ fehlt, dann kannst Du das auch einzeln nachinstallieren.

    Als Backup habe ich ein BASH-Script, welches auf dem NAS immer den kompletten Inhalt der SD-Karte ablegt. Das Script ist auf allen Raspis vorhanden und wird vor / nach größeren Änderungen ausgeführt.

    Code:
    #!/bin/bash
    #
    # DS mounten
    #
    MountPoint=/tmp/ds
    RaspiName=RaspiBPlus_
    
    RaspiName=$RaspiName$(date +%Y%m%d-%k%M%S)
    echo $RaspiName
    
    service rpcbind start
    if [ ! -e $MountPoint ]; then
        mkdir $MountPoint
    fi
    
    mount -t nfs 192.168.2.15:/volume1/Raspberry $MountPoint
    
    dd if=/dev/mmcblk0 of=$MountPoint/$RaspiName.img bs=1M
    
    umount $MountPoint
    service rpcbind stop
    Wichtig ist, dass die Konsole / SSH Session nicht geschlossen wird, während das Script läuft. Zurückspielen geht per Windows Tool win32diskimager-binary06.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. [ERLEDIGT] Raspian Wheezy erschienen
    Von TheDarkRose im Forum Raspberry Pi
    Antworten: 62
    Letzter Beitrag: 08.08.2012, 15:59
  2. Mechanisches Komponenten
    Von Neo-Alucard im Forum Asuro
    Antworten: 5
    Letzter Beitrag: 23.02.2010, 16:55
  3. Roboterteile und -komponenten
    Von squelver im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 15.11.2007, 11:22
  4. Welche Komponenten ???
    Von tigerharm im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 5
    Letzter Beitrag: 10.03.2007, 20:41
  5. 3D Steuerung mit RN-Komponenten
    Von BOH im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 4
    Letzter Beitrag: 23.03.2006, 20:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress