Speicherfunktion (case Anweisung)



  • Hallo eine frage wie kann ich wenn ich in einen Programm auf datei->speichern unter
    gehe das wenn mann eine datei mit endung MKR in das INstalationsverzeichniss des Programmes abspeichern kann.
    Andere Datei endungen kann der Benutzer dann wo er will abspeichern.

    der quellcode bis jetzt ist so

    //Dialog zum Speichern aufrufen
    			if (!Programminfo.Datei.gespeichert)
    				{
    				if (!Programminfo.Datei.NameVorhanden) //Wenn noch kein Name vorhanden ist
    					{								       // Dialog aufrufen
    					//Dialog zum Speichern aufrufen
    					DateiMenue.lpstrFile = Programminfo.Datei.FileName;
    					if(GetSaveFileName(&DateiMenue))
    						{
    						FehlerVar = DateiSpeichern(&Programminfo,DateiMenue,&BlockSpeicherHandle,&VerdrahtungsListenHandle);
    						if (FehlerVar != ok)
    							{
    							FehlerMeldung(FehlerVar,&Programminfo,0);
    							return 0;
    							};
    						Programminfo.Datei.gespeichert = TRUE;
    						}
    					else
    						{
    						FehlerMeldung(AbbruchDurchBenutzer,&Programminfo,0);
    						return 0;
    						};	
    					}
    				else
    					{
    					FehlerVar = DateiSpeichern(&Programminfo,DateiMenue,&BlockSpeicherHandle,&VerdrahtungsListenHandle);
    					if (FehlerVar != ok)
    						{
    						FehlerMeldung(FehlerVar,&Programminfo,0);
    						return 0;
    						};
    					Programminfo.Datei.gespeichert = TRUE;
    					};
    				}
    			return 0;
    			};
    		case ID_FILE_SAVE_AS :
    			{
    			//Dialog zum Speichern aufrufen
    			DateiMenue.lpstrFile = Programminfo.Datei.FileName;
    			if(GetSaveFileName(&DateiMenue))
    				{
    				FehlerVar = DateiSpeichern(&Programminfo,DateiMenue,&BlockSpeicherHandle,&VerdrahtungsListenHandle);
    				if (FehlerVar != ok)
    					{
    					FehlerMeldung(FehlerVar,&Programminfo,0);
    					return 0;
    					};
    				Programminfo.Datei.gespeichert = TRUE;
    				}
    			return 0;
    			};
    		case ID_EDIT_CLEAR :
    			{
    			Buttonsanpassen(Programminfo.handles.Arbeitsfenster,del_aus);
    			Buttonsanpassen(Programminfo.handles.Toolbar,delP_aus);
    			if (Programminfo.Modus == BlockMode)
    				{
    				if (LokalerBlockSpeicher.aktiviert)
    					{
    					if(!BlockLoeschen(&BlockSpeicherHandle,&LokalerBlockSpeicher,Beschriftung,&Programminfo))
    						FehlerMeldung(KeinSpeicher,&Programminfo,0);
    					else
    						AngeschlosseneLinienMitLoeschen(&AngeschlosseneLinien,&VerdrahtungsListenHandle,
    														&LokalerBlockSpeicher,&Programminfo);
    					};
    
    				return 0;
    				};
    			if (Programminfo.Modus == VerdrahtungsMode)
    				{
    				if(LokalerVerdrahtungsSpeicher.aktuelleLinie.aktiviert)
    					{
    					if(!ueberpruefe_und_loescheLinie(&LokalerVerdrahtungsSpeicher,&VerdrahtungsListenHandle,&Programminfo))
    						FehlerMeldung(KeinSpeicher,&Programminfo,0);
    					};
    				return 0;
    				};
    			};
    


  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • kann mir keiner helfen oder habe ich die frage etwas falsch formuliert



  • OMG Mit deinen Doppelposts machst du dich nicht sehr beliebt hier 👎



  • UNd nur so... woher sollen wir wissen als was du die verdammten Variablen definiert hast?



  • Ogottogott, hab' das Doppelpost grad' erst bemerkt... *man bin ich blind*

    Teilweise Antwort im anderen Thread, aber für Dein Problem bastelst dir wohl am besten einen eigenen "Speichern unter..." Dialog für deine lustigen .MKR Dateien (mann ich hasse capitalized extensions...) in dem man nur einen Dateinamen wählen kann.

    Greetz, Swordfish


Anmelden zum Antworten