Zum Inhalt springen

therap

Mitglieder
  • Gesamte Inhalte

    22
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von therap

  1. Generell gilt, dass wenn man übertakten die Garantie flöten geht - allerdings ist auf den s.g. Turbo-Mode das Fortbestehen der Garantie vom Hersteller aus garantiert. Aber ich denke ich werde die HD 4890 wählen 11% mehr Leistung ist schon einiges und für 30€ auch eher n Schnäppchen.
  2. Danke euch allen. Ich hatte auch die Zeile mit fputs rausgenommen, sicher muss der Code noch optimiert werden - aber er erfüllt z.Z. seinen Zweck
  3. Aloha, ich bin gerade dabei mir ein System zusammen zu bauen AMD, ATi Komponenten, da ich absoluter Gegner von Intel und GeForce bin - das beruht aber eher auf sehr schlechten persönlichen Erfahrungen. Über den Glaubenskrieg möchte ich hier auch nicht diskutieren, ich brauche nur eine Hilfe bei der Entscheidung wie im Topic steht - dreht es sich um die Gainward HD 4870 Golden Sample mit 1024MB oder PowerColor HD 4890 1024 MB Im Schnitt liegt die Kostendifferenz bei 30€ Im Schnitt sind es in aktuellen Benchmarks - laut Tom's Hardware ca. 11% Mehrleistung die, die HD 4890 mitbringt - nun meine Frage - lohnen sich die 30€? In Betracht auf "Zukunft" und Crossfire mit 2 x HD 4890 kann das stimmen aber sonst? Was meint ihr? P.S.: Die Gainward bietet einen Turbo Mode, welchen an die gleichen Takraten wie die HD 4890 kommt.
  4. Und wie könnte ich es umgestalten damit ich diesen Folgefehler umgehen kann? Tut mir wirklich leid, das ich teilweise so bescheidene Fragen stelle - aber wenn man keinen Ansprechpartner hat ist nicht alles trivial bzw. einfach. Deswegen nochmal großes Dankeschön an euch
  5. Offtopic: Ich würde auch gerne lieber in einer anderen Umgebung arbeiten - leider wurde es mir so vorgeschrieben. Und dem habe ich mich zu fügen als Azubi. Back2Topic: Entschuldige, ich hätte mich präzieser ausdrücken müssen. Also, erwartet wird - dass, jeweils eine Zeile aus der Steuerdatei.csv gelesen wird - diese in "gesamte_zeile" gesichert wird. Anschließend mittels strtok in Tokens geteilt ( anhand von ";" ) Diese Tokens ( 3 in der Zahl ) in eine jeweils andere Variable speichert. Pfad, Dateiname, Aktion Anschließend soll mittels strcpy der Token Pfad in die Variable Dateipfad gespeichert werden bzw. kopiert. Anschließend mittels strcat soll der Dateiname an den Pfad in Var. Dateipfad angehängt werden. Danach soll anhand der Var. Aktion geprüft werden, was zu tun ist sprich: löschen o. ersetzen / kopieren. Was wird gemacht: Die Zeile aus .csv gelesen - in gesamte_zeile gespeichert 3 Tokens werden in jeweils 1 Var. gespeichert ( anhand von ";" ) Dateiname wird an Pfad gehängt ( mittels strcat ) Operator wird geprüft, und ausgeführt - dies allerdings nur mit der ersten Zeile in .csv Alle nachfolgenden Zeilen werden zwar korrekt eingelesen und in gesamte_zeile gespeichert - diese werden auch korrekt geteilt anhand von ";" - allerdings passiert nichts. Wobei... da fällt mir etwas auf - und zwar habe ich 3 Zeilen in meiner .csv Datei - das Programm bzw. die While Schleife springt allerdings nach der 2. Zeile komplett raus und beendet sich.
  6. @ Klotzkopp - ja ich habe das im Debugger von Dev-C++ geprüft. Schritt für Schritt. Anbei der gesamte Quelltext. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define MAX 200 #define BLOCK 1024 #define CSV "Steuerdatei.csv" #define TOKEN_LENGTH 100 void printlog ( char *s ); void fc_aktion(char *dateipfad, char *dateiname,int aktion, char *puffer,char *sMsg); char fc_dateipfad ( char *pfad, char *dateiname, char *dateipfad ); int main(int argc, char *argv[]) { FILE *file_csv; char pfad[TOKEN_LENGTH], dateipfad[MAX], dateiname[TOKEN_LENGTH], gesamte_zeile[MAX], sMsg[BLOCK], *ptr_strtok, c; int aktion, i = 0; printlog("Log-File.txt wurde erstellt:"); // Open .csv File file_csv = fopen(CSV, "r"); // Troubleshooting .csv File if (NULL == CSV) { sprintf(sMsg, "'%s' Konnte nicht geoeffnet werden", CSV); printlog(sMsg); return 1; } // Open .csv File successful sprintf(sMsg, "'%s' wurde erfolgreich geoeffnet", CSV); printlog(sMsg); // Read line by line from .csv File while(fgets(gesamte_zeile, MAX, file_csv)) { fputs(gesamte_zeile, file_csv); ptr_strtok = strtok(gesamte_zeile, ";\n"); while(ptr_strtok != NULL) { i++; switch (i) { case 1: strcpy(pfad, ptr_strtok); break; case 2: strcpy(dateiname, ptr_strtok); break; case 3: aktion = atoi(ptr_strtok); i = 0; break; default: sprintf(sMsg, "Unbekannter Operator", CSV); printlog(sMsg); } ptr_strtok = strtok (NULL, ";\n"); } fc_dateipfad(pfad, dateiname, dateipfad); fc_aktion(dateipfad, dateiname, aktion, puffer, sMsg); } // Close Streams fclose(file_csv); printf("\nAktualisierung erfolgreich - Einzelheiten entnehmen Sie dem Log-File.txt\n\n"); system("PAUSE"); return 0; } // Generate dateipfad char fc_dateipfad ( char *pfad, char *dateiname, char *dateipfad ) { // Add dateiname at dateipfad strcpy(dateipfad, pfad); strcat(dateipfad, dateiname); return *dateipfad; } // Action void fc_aktion(char *dateipfad, char *dateiname,int aktion, char *puffer,char *sMsg) { // Action with Operator FILE *file_to, *file_from; char *buffer; long lSize; switch (aktion) { // Delete File case 1 : remove(dateipfad); sprintf(sMsg, "'%s' wurde geloescht", dateiname); printlog(sMsg); break; // Replace File case 2: { if((file_from = fopen(dateiname, "rb")) != NULL) { fseek (file_from , 0 , SEEK_END); lSize = ftell (file_from); rewind(file_from); if ((file_to = fopen(dateipfad, "wb")) != NULL) { buffer = malloc(sizeof(char) * lSize); fread(buffer, sizeof(char), lSize, file_from); fwrite(buffer, sizeof(char), lSize, file_to); fclose(file_from); fflush(file_to); fclose(file_to); free(buffer); buffer = NULL; } else { printf("Kann %s nicht oeffnen", dateiname); fclose(file_from); } } else { printf("Kann %s nicht oeffnen", dateiname); } sprintf(sMsg, "'%s' wurde ersetzt", dateiname); printlog(sMsg); } break; default: sprintf(sMsg, "'%s' Ungueltiger Operator", aktion); printlog(sMsg); } } void printlog ( char *s ) { FILE *log_file; struct tm *local; time_t t; t = time(NULL); local = localtime(&t); log_file = fopen("Log-File.txt", "w+"); if(log_file != NULL) { fprintf(log_file, "[%s] %s\n", asctime(local), s); fclose(log_file); } } Kann gut sein, das noch irgendwelche Variablen deklariert aber nicht verwendet werden. Dessen bin ich mir im Klaren - die werden natürlich nachträglich entfernt. Das ist der Momentane Stand.
  7. Danke nochmals für die Hilfe. Ich habe noch ein ungewolltes Problem, welches in einem Teilbereich auftritt. Und zwar möchte ich aus einer .csv Datei eine Zeile auslesen. Diese anhand von ";" splitten und in 3 Variablen sichern. Pfad, Dateiname & Aktion ( aktion wird ausgewertet um zu entscheiden ob die Datei kopiert bzw. gelöscht werden soll ) Das ganze funktioniert wunderbar.. mit der ersten Zeile. Die 2. Zeile wird zwar eingelesen. Aber nicht richtig ausgeführt. Anbei die Schleifen, welche den String splitten sowie die Funktion die den String zusammen setzt. // MAX = 200 while(fgets(gesamte_zeile, MAX, file_csv)) { fputs(gesamte_zeile, file_csv); ptr_strtok = strtok(gesamte_zeile, ";\n"); while(ptr_strtok != NULL) { i++; switch (i) { case 1: strcpy(pfad, ptr_strtok); break; case 2: strcpy(dateiname, ptr_strtok); break; case 3: aktion = atoi(ptr_strtok); i = 0; break; default: sprintf(sMsg, "Unbekannter Operator", CSV); printlog(sMsg); } ptr_strtok = strtok (NULL, ";\n"); } fc_dateipfad(pfad, dateiname, dateipfad); char fc_dateipfad ( char *pfad, char *dateiname, char *dateipfad ) { // Add dateiname at dateipfad strcpy(dateipfad, pfad); strcat(dateipfad, dateiname); return *dateipfad; } Danke im Voraus.
  8. Danke dir Klotzkopp, das Ergebnis sieht auch um Welten besser aus als zuvor. Allerdings habe ich folgendes - kontinuierliches Problem. Entweder ( ich verwende zum Testen eine .txt Datei ) - wird der Inhalt der Quelle zu oft in Ziel geschrieben oder aber die jeweils Erste Zeile von einem neuen Block ist "fehlerhaft" sprich Zeichen, die dort nicht sein sollten, bzw. gar nicht in der Datei vorhanden sind. Ich werde anbei den Inhalt von Quelle & Ziel posten. Der Quelltext ist der selbe wie der obrige. Edit sieht: Habe gerade den Post von TDM gesehen - danke dafür! Danke auch den anderen. Kann mir nur jmd. sagen wofür fseek zuständig ist? Ich würde sagen, dass ich innerhalb der Datei umherspringe.. Bzw. ftell, rewind sagt mir ebenfalls gar nichts :x *schnell gidf.de öffne*
  9. #include <stdlib.h> #include <stdio.h> int main(void) { char puffer[100]; FILE *ziel; FILE *quelle; int j; quelle = fopen("quelle.txt", "r+b"); if (quelle == NULL) { printf("Konnte quelle.txt nicht oeffnen\n"); } ziel = fopen("ziel.txt", "w+b"); if (ziel == NULL) { printf("Konnte ziel.txt nicht oeffnen\n"); } if(quelle != NULL) for (j = 0; j < 10; j++) { fread(&puffer, sizeof(char), 1, quelle); fwrite(&quelle, sizeof(char), 1, ziel); } fclose(ziel); fclose(quelle); system("PAUSE"); return EXIT_SUCCESS; } Das Programm liest die Zeilen so weit ein, mit fflush hatte ich wenig Kontakt - konnte lediglich lesen, dass das Verhalten nicht definiert ist - Galileo Computung "C von A bis Z" Allerdings habe ich zu Blockanfang immer einen Kaudawelsch drin stehen - liegt es am fehlendem fflush? Wenn ja wo füge ich ihn ein? Hinter fread bzw. fwrite?
  10. so? danke an alle vorab schonmal edit meint: nach dem ich den vorhanden code ausgeführt habe steht in der ziel datei nur kaudawelsch. teils die zeichen die ich kopiert haben möchte teils andere buchstaben etc.
  11. Hallo Community, ich habe folgendes Problem - und zwar möchte ich mittels fread den Inhalt einer .pdf Datei einlesen und im Puffer speichern, anschließend den Inhalt mittels fwrite in eine Datei schreiben bzw. die vorhandene ersetzen. Mein Problem ist, dass das Programm immer den selben Block kopiert bzw. ersetzt. Mein Ansatz wäre eine Schleife die mit hoch zählt oder eine Abbruch Bedingung. Ich hänge mal den Quelltext an. Vielen Dank im Voraus! #include <stdlib.h> #include <stdio.h> int main(void) { int puffer[1024]; FILE *ziel; FILE *quelle; int i; int j; ziel = fopen("ziel.txt", "w+"); quelle = fopen("quelle.txt", "r+b"); if(quelle != NULL) for (j = 0; j < 10; j++) { fread(&puffer, sizeof(int), 1024, quelle); } else { exit (1); } for(i = 0; i < 10; i++) fwrite(&quelle, sizeof(int), 1024, ziel); system("PAUSE"); return EXIT_SUCCESS; }
  12. Das habe ich noch nicht ausprobiert - geht auch schlecht wenn der Mitarbeiter nicht anwesend ist zur Zeit - wie kann ich diesen Modus denn einstellen? Ich nehme spontan an unter den Optionen irgendwo. ( Benutze selber z.Z. nur FF )
  13. Hallo Community, nachdem ich die SuFu und google benutzt habe - habe ich leider immer noch kein erfolgbringendes Ergebnis erzielen können. System: Windows Vista Enterprise - sämtliche Updates / Service Packs eingeschlossen Browser: Internet Explorer 8.0 - sämtliche Updates vorhanden Drucker: Kyocera Milta KM-2030 KX - aktuellste Treiber auf den Clients installiert - über TCP angeschlossen Ursache / Fehlerbeschreibung: Der Mitarbeiter öffnet bsp. wikipedia.de - sucht dort einen Beitrag oder sonstiges, sieht diesen klickt auf "Datei -> Drucken" und es wird gedruckt. Die Anzeige im Browser ist i.O - ebenso unter "Seite einrichten". Im Ausdruck werden Umlaute ( ö, ü ä ) durch Zeichen ersetzet heute R mit Doppelpunkt oben drüber. Folgende Zeichencodierung haben wir getestet ( Fehler tritt weiterhin auf ) Unicode UTF-8 Westeuropäisch ( ISO ) Wenn wir den Inhalt der Webseite in ein .doc oder sonst was File kopieren und drucken ist alles i.O. Kann es an irgendwelchen Fonts liegen? Treiber? Danke im Voraus.
  14. Nachdem ich mal richtig drauf geschaut habe und den Segmentation fault gesucht habe. Bin ich auch darauf gestoßen. Habe den Quelltext so weit angepasst, er läuft. Nur noch auf Funktionalität testen. Danke an alle Bei Bedarf poste ich den Quelltext nochmal.
  15. Hallo, ich glaube es lag daran, dass ich in die Log-File etwas schreiben wollte - bevor ich einen Stream geöffnet habe? Sie Post 3. Ich bastel mal rum und zeige dann wieder den Quelltext. Edit sagt: Nach manipulieren/analysieren des Quelltextes fällt mir auf das, dass Segmentation fault auftritt - nachdem das Programm feststellt, dass keine .csv Datei vorhanden ist. Ich habe das Programm wie folgt geändert, allerdings tritt das Problem weiterhin in Zeile 37 & 38 auf. Selbst wenn keine .csv Datei gefunden werden kann. Möchte ich, dass der Benutzer keine Meldung sieht - dafür dient das Log-File. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define TOKEN_LENGTH 100 #define INPUTCSV "Steuerdatei.csv" #define MAX 200 int main(int argc, char *argv[]) { char pfad[TOKEN_LENGTH] = "", dateiname[TOKEN_LENGTH] = ""; char gesamte_zeile[MAX], pfad_file_out[MAX], *ptr_strtok; int operat, i=0, j; struct tm *local; time_t t; FILE *file_in, *file_out, *log_file; t = time(NULL); local = localtime(&t); // Log-File öffnen log_file = fopen("Log-File.txt", "w+"); // Fehlebehandlung Log-File if (NULL == log_file){ printf("Kann Log-Datei nicht erstellen\n"); fclose(log_file); } // Log-File INPUT erstellen fprintf(log_file, "'%s' : Log-File erstellt", asctime(local)); // .csv Datei öffnen file_in = fopen(INPUTCSV, "r"); fprintf(log_file, "'%s' wurde erfolgreich geoeffnet\n", INPUTCSV); // Fehlerbehandlung ( Öffnen von INPUTCSV ) if ((file_in = fopen(INPUTCSV, "r")) == NULL) { fprintf(log_file, "Kann '%s' nicht oeffnen\n", INPUTCSV); fclose(log_file); fclose(file_in); } // Zeilenweise lesen aus .csv Datei while(fgets(gesamte_zeile, MAX, file_in)) { fputs(gesamte_zeile, file_in); // gesamte Zeile von .csv Datei zerlegen und in Variablen speichern mit strtok ptr_strtok = strtok(gesamte_zeile, ";"); while (ptr_strtok != NULL) { i++; switch (i) { case 1: strcpy(pfad, ptr_strtok); break; case 2: strcpy(dateiname, ptr_strtok); break; case 3: operat = atoi(ptr_strtok); break; } ptr_strtok = strtok (NULL, ";"); }// while }// Zeilenweise lesen // Dateiname an Dateipfad hängen // Addressierbar strcat(pfad_file_out, pfad); strcat(pfad_file_out, dateiname); switch (operat) { // File löschen case 1 : remove(pfad_file_out); fprintf(log_file, "'%s' : wurde geloescht", dateiname); break; // File kopieren case 2 : file_out = fopen(pfad_file_out, "w"); fprintf(log_file, "'%s' : wurde kopiert", dateiname); break; // File ersetzen case 3 : file_out = fopen(pfad_file_out, "w+"); fprintf(log_file, "'%s' : wurde ersetzt", dateiname); break; default : fprintf(log_file, "Konnte '%s' nicht oeffnen\n", pfad_file_out); }// switch (operat) // Streams freigeben fclose(file_in); fclose(file_out); fclose(log_file); system("PAUSE"); return 0; }
  16. Der Fehler lautete: "passing arg 1 of strcpy makes pointer from integer without a cast." Habe nachdem ich den Tritt vorm Kopf von dir bekommen habe, es nochmals versucht. switch (i) { case 1: strcpy(pfad, ptr_strtok); break; case 2: strcpy(dateiname, ptr_strtok); break; case 3: operat = atoi(ptr_strtok); break; } Compiler meckert nicht - nun kommt ein Segmentation fault. Eine Zugriffsverletzung hab ich noch nie gesehen. Ich nehme an diese Treten da durch auf, das ich versuche auf Speicher zu zugreifen der nicht für "mein" Programm reserviert ist, oder bereits einem anderem Programm "gehört"? Kann es auch sein, das ein s.g. Segmentation Fault durch Dateiströme entsteht?
  17. Wie folgt habe ich das nun verstanden: // Ausschnitt aus Quelltext. int main { int j; switch (i) { case 1: strcpy(pfad, ptr_strtok); break; case 2: strcpy(dateiname, ptr_strtok); break; case 3: j = atoi(ptr_strtok); strcpy(operat, j); break; } } Der Fehler besteht weiterhin.
  18. Hallo zusammen, ich konnte soweit sämtliche Fehler ausschließen bis auf die Sache mit dem atoi - habe mir zwar die Referenz davon durchgelesen. Wende diese aber offensichtlich falsch an, da der Compiler immer noch meckert. Ich habe folgende Zeilen zu meinem Quelltext hinzugefügt: int j; j = atoi ( operat ); da ich gerade privat unterwegs bin, habe ich den editierten Quelltext nicht. Habe beim Case 3 vor der eigentlichen Aktion dieses "j = atoi ( operat ) hinzugefügt. Vll. könnte mir jemand nochmals helfen? Vielen Dank im Voraus! Edit sagt: Werde den aktualisierten Quelltext morgen früh mal posten
  19. Hallo, danke für die fixe Hilfestellung, ich hab mal versucht die Aufgabe zu lösen - Hauptsache erstmal gelöst, auch wenn es vermutlich in euren Augen eine Schmuddellösung ist ;-) Ich bitte hierbei allerdings auch kurz um Hilfestellung da ich vorab folgende Fehlermeldungen bekomme: 41 [Warning] comparison between pointer and integer 44 [Warning] passing arg2 of 'strtok' makes pointer from integer without a cast 53 [Warning] passing arg1 of 'strcpy' makes pointer from integer without a cast 56 [Warning] passing arg2 of 'strtok' makes pointer from integer without a cast 64 [Warning] assignment makes pointer from integer without a cast #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define TOKEN_LENGTH 100 #define INPUTCSV "Steuerdatei.csv" #define MAX 200 int main(int argc, char *argv[]) { char pfad[TOKEN_LENGTH] = "", dateiname[TOKEN_LENGTH] = ""; char gesamte_zeile[MAX], pfad_file_out[MAX], *ptr_strtok; int operat, i=0; const char sep_char = ';'; struct tm *local; time_t t; FILE *file_in, *file_out, *log_file; t = time(NULL); local = localtime(&t); // .csv Datei öffnen file_in = fopen(INPUTCSV, "r"); // Fehlerbehandlung ( Öffnen von INPUTCSV ) if ((file_in = fopen(INPUTCSV, "r")) == NULL) { fprintf(log_file, "Kann '%s' nicht oeffnen\n", INPUTCSV); } // Log-File öffnen log_file = fopen("Log-File.txt", "w+"); // Fehlebehandlung Log-File if (NULL == log_file){ printf("Kann Log-Datei nicht erstellen\n"); fclose(log_file); } // Log-File INPUT erstellen fprintf(log_file, "'%s' : Log-File erstellt", asctime(local)); // Zeilenweise lesen aus .csv Datei while(fgets(gesamte_zeile, MAX, file_in) != EOF) { fputs(gesamte_zeile, file_in); // gesamte Zeile von .csv Datei zerlegen und in Variablen speichern mit strtok ptr_strtok = strtok(gesamte_zeile, sep_char); while (ptr_strtok != NULL) { i++; switch (i) { case 1: strcpy(pfad, ptr_strtok); break; case 2: strcpy(dateiname, ptr_strtok); break; case 3: strcpy(operat, ptr_strtok); break; } ptr_strtok = strtok (NULL, sep_char); // Dateiname an Dateipfad hängen // Addressierbar strcat(pfad_file_out, pfad); strcat(pfad_file_out, dateiname); switch (operat) { // File löschen case 1 : file_out = remove(pfad_file_out); fprintf(log_file, "'%s' : wurde geloescht", dateiname); break; // File kopieren case 2 : file_out = fopen(pfad_file_out, "w"); fprintf(log_file, "'%s' : wurde kopiert", dateiname); break; // File ersetzen case 3 : file_out = fopen(pfad_file_out, "w+"); fprintf(log_file, "'%s' : wurde ersetzt", dateiname); break; default : fprintf(log_file, "Konnte '%s' nicht oeffnen\n", pfad_file_out); }// switch (operat) }// while (ptr:strtok != NULL) }// Zeilenweise lesen // Streams freigeben fclose(file_in); fclose(file_out); fclose(log_file); system("PAUSE"); return 0; }
  20. Hallo Phil, vll. habe ich mich falsch ausgedrückt. Ich versuche es nochmals. Ich habe einen String, welchen ich aus einer .csv Datei einlese. Um genauer zu sein einen Pfad, einen Dateinamen und einen "Operator", Bsp. String aus .csv Datei \\c:\qs\aktennotizen\;va-209.pdf;1 Ich öffne den Datenstrom, lese die erste Zeile ein. Speichere diese in einer Variablen. Nun möchte ich anhand der ';' den vorhandenen String teilen mit Hilfe von strtok. würde in der Standardausgabe so aussehen: \\c:\qs\aktennotizen\ va-209.pdf 1 Ich möchte den String bzw. die Teilstrings allerdings nicht auf dem Bildschirm ausgeben, sondern in Variablen speichern. Heißt: char pfad[50]; //\\c:\qs\aktennotizen\ char dateiname[50]; //va-209.pdf int operat; // 1 Ich habe allerdings keine Ahnung wie ich das anstelle.
  21. Hallo liebe Community, ich habe bevor ich diesen Fred eröffnet habe die SuFu benutzt - welche wenig aufschlusreich war. Folgende Angelegenheit, ich bin noch C - Anfänger und habe die Aufgabe mit Hilfe der strtok Funktion einen String zu teilen, welchen ich mir aus einer Datei hole. So weit kein Problem. Die Ausgabe des Strings bzw. der Teilstrings in der Standardausgabe stellen kein Problem dar. Da ich allerdings die Var. zu späteren Weiterverarbeitung zwischenspeichern muss bin ich z.Z. aufgeschmissen. google.de konnte mir auch nicht helfen. Ich möchte bzw. ich muss den Eingabestring in 3 Token teilen und 3 Variablen besitzen - kann mir bitte jmd. helfen? Danke im Voraus für Tipps, Lösungen etc.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...