You are not logged in.

  • Login

1

Wednesday, September 29th 2010, 2:40pm

C befehl für installation?

Hallo,

bin neu hier im Forum und habe vor einigen tagen mal "richtig" mit C angefangen.
Ich habe leider per Google nichts finden können aber ich hoffe ihr könnt mir helfen.

Ich schreibe gerade mal ein test Programm, das nicht mehr machen soll als bei einer Datei (am besten eine Schrift) die Installation zu starten.
Recht simpel bis zu dem punt mit der Installation. Gibt es für die Installation eine funktion?

Gruß
Daniel

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int wahl;
  char Zeile[900];
  FILE *f;
  if(argc==2) {
          	printf("Font %s Installieren?",argv[1]);
          	scanf("%d",&wahl);
          	switch(wahl) {
                       	case 1:
                            	printf("test");
                            	break;
                            	case 2:
                                 	printf("test 2");
                                 	break;
                            	default:
                                    	printf("Es ist ein fehler aufgetreten");
                                    	break;
          	}
}
          	
  getchar();	
  return 0;
}

This post has been edited 1 times, last edit by "Helvete" (Sep 29th 2010, 3:16pm)


2

Wednesday, September 29th 2010, 4:32pm

Und wie installierst du als Benutzer diese Schrift? Reicht ein Doppelklick auf die Datei oder wird sie in ein bestimmtes Verzeichnis kopiert?
Zum Ausführen unter Windows mit C sollte es den Befehl shellexecute() geben. Mit diesem kannst du die Ausführung einer Datei anstoßen. Für das Kopieren von Dateien wird es sichterlich auch einen Befehl in der WinAPI geben. Ansonsten kannst du mit shellexecute() auf das Windowseigene Programm xcopy zurückgreifen.

3

Wednesday, September 29th 2010, 4:52pm

Vielen Dank schonmal, werde mich da nochmal schlau machen über die befehle.

Wenn man doppelklickt auf die Schrift macht würde sich nur ein Editor öffnen der mir die Schriften anzeigt.
Die Datei kann entweder in den Schriften Ordner Kopiert werden oder per rechts klick Installiert werden.

An das Kopieren der datei hatte ich noch garnicht nachgedacht.

Vielen Dank nochmal

gruß
Daniel

This post has been edited 2 times, last edit by "Helvete" (Sep 29th 2010, 9:22pm)


4

Wednesday, September 29th 2010, 9:22pm

Sorry wegen Doppel post.

Ich bräuchte nochmal hilfe.
Leider macht das Pogramm nicht das was es soll, naja besser gesagt es macht garnichts.
Es liegt glaube ich daran das wenn ich den pfad mit dem datei namen zusammen fürge dann entsteht zwar alles wie es soll also "C:\test\datei.tts" nur er setzt mir vor das C: ein sonderzeichen. Ich glaube deswegen copiert er mir die datei nicht in den neuen ordner.

Nun wollte ich fragen ob es eine möglichkeit gibt diese sonderzeichen wieder zu entfernen?

Hier das Programm:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main(int argc, char *argv[])
{
	int wahl;
	char pfad[]={"C:\\test"};
	char weg[900];
	char suche = '\\';
	char* ergebnis;
	
	ergebnis = strrchr(argv[1],suche);
	if(argc==2) {
            	printf("Soll %s installiert werden?\n\n", ergebnis);
            	scanf("%d",&wahl);
            	switch(wahl) {
                         	case 1:
                              	printf("Programmstart\n");
                              	strcat(weg,pfad);
                              	strcat(weg,ergebnis);
                              	printf("\n%s\n",argv[1]);
                              	printf("%s",weg);
                              	CopyFile(argv[1],weg,FALSE);
                              	getchar();
                              	break;
                         	case 2:
                              	printf("Script wird beendet");
                              	int i;
                              	for(i=0;i<=6;i++) {
                                      	printf(".");
                                      	sleep(500);
                                      	}
                                      	if(i==6) {
                                               	exit;
                                               	}
                         	default: 
                                  	printf("Es wurde nichts ausgesucht Programm wird beendet!");
                                  	getchar();
                                  	break;
                         	}
            	}
  getchar();
  return 0;
}

5

Wednesday, September 29th 2010, 9:40pm

Irgend wie bin ich ein wenig irritiert.

Möchtest du nur eine zusätzliche Schrift installieren?
Oder möchtest du einen Text in einer bestimmten Schrift darstellen?

MfG bcc-fan

6

Wednesday, September 29th 2010, 9:47pm

nene theoretisch möchte ich die schrift mit diesem programm in den schriftenordner kopieren (bzw. bei Windows 7 gibts ja sogar eine isntallieren funktion).

Okay habe es hinbekommen

habe einfach nochmal den string bis zum "C" durchsucht und damit dieses sonderzeichen entfernt.

Würde mich sehr über Kritik freuen was ich hätte anders und besser machen können ist ja immerhin mein aller erstes in C geschreibenes Programm.

VIele Gruße
Daniel

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main(int argc, char *argv[])
{
	int wahl;
	char pfad[]={"C:\\test"};
	char weg[900];
	char suche = '\\';
	char sonderen = 'C';
	char* ergebnis;
	char* weg2;
	
	ergebnis = strrchr(argv[1],suche);
	
	if(argc==2) {
            	printf("Soll %s installiert werden?\n\n", ergebnis);
            	scanf("%d",&wahl);
            	switch(wahl) {
                         	case 1:
                              	printf("Programmstart\n");
                              	strcat(weg,pfad);
                              	strcat(weg,ergebnis);
                              	printf("\n%s\n",argv[1]);
                              	printf("%s",weg);
                              	weg2 = strrchr(weg,sonderen);
                              	printf("\n%s",weg2);
                              	CopyFile(argv[1],weg2,FALSE);
                              	getchar();
                              	break;
                         	case 2:
                              	printf("Programm wird beendet");
                              	int i;
                              	for(i=0;i<=6;i++) {
                                      	printf(".");
                                      	sleep(500);
                                      	}
                                      	if(i==6) {
                                               	exit;
                                               	}
                         	default: 
                                  	printf("Es wurde nichts ausgesucht Programm wird beendet!");
                                  	getchar();
                                  	break;
                         	}
            	}
  getchar();
  return 0;
}

This post has been edited 1 times, last edit by "Helvete" (Sep 29th 2010, 10:20pm)


Social bookmarks