Zum Inhalt springen

[C#] Mehrere Verzeichnisse suchen


Empfohlene Beiträge

Geschrieben

Hallo liebe Fachinformatiker/innen :)

erstmal ein liebes "Hallo" an alle.

Nun meine Frage ;)

Ich soll ein Programm schreiben, was ein bestimmtes verzeichnis (samt unterverzeichnissen) durchsucht, und in einer liste die .xml dateien ausgibt.

Nun habe ich schon angefangen, komme aber mit der funktion nicht weiter, wodran ich ja dann die durchsuchung der anderen verzeichnisse weitergeben muss.

hier mein code:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;


namespace WindowsApplication1

{

        public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

            Text = "Dateien in C:\\Temp";

            this.WindowState = FormWindowState.Normal;

        }


        private void button1_Click(object sender, EventArgs e)

        {

            DirectoryInfo dir = new DirectoryInfo(@"C:\Temp");

            string[] directories = Directory.GetDirectories(@"C:\Temp");

            FileInfo[] files = dir.GetFiles("*.xml");

            string[]lines = new string[files.Length];

            int i = 0;

            foreach (FileInfo file in files)

            {

                lines[i] = file.Name;

                i++;

            }

            textBox1.Lines = lines;



        }

[B]            private DirectoryInfo fkt(DirectoryInfo[] fkt2)

            {

                return null;

            }[/B]


        private void button2_Click(object sender, EventArgs e)

        {

            textBox1.ResetText();

        }


        private void button3_Click(object sender, EventArgs e)

        {

            FileInfo file = new FileInfo(@"C:\Temp\export.txt");

            StreamWriter writer = new StreamWriter(file.FullName);

            foreach (string line in textBox1.Lines)

            {

                writer.WriteLine(line);

            }

            writer.Flush();

            writer.Close();

        }

    }

}

kann mir da wer helfen? :)

Mfg

SeToY

PS: return null; hab ich drinstehen, damit mir der compiler keinen fehler raushaut :e@sy

Geschrieben

Damit habe ich mich auch schon befasst, aber ich muss dazu sagen: Ich bin blutiger anfänger :old

BTW: Danke für's verschieben... Habe mir scho ngedacht, dass ich da irgendwas falsch gemacht habe :upps :)

Geschrieben

so zum Beispiel:


List<string> SearchFiles(string path)
{
List<string> files = new List<string>();
DirectoryInfo dir = new DirectoryInfo(path);

foreach (FileInfo file in dir.GetFiles("*.xml"))
{
files.Add(file.Name);
}
foreach (DirectoryInfo di in dir.GetDirectories())
{
files.AddRange(SearchFiles(di.FullName));
}
return files;
}[/PHP]

Geschrieben

        private void GetFiles(string folderPath, List<string> fileList )

        {

            if (!Directory.Exists(folderPath)) return;

            string[] dirs = Directory.GetDirectories(folderPath);

            foreach (string subDir in dirs)

                GetFiles(subDir, fileList);


            string[] files = Directory.GetFiles(folderPath, "*.xml");

            foreach (string file in files)

                if (!fileList.Contains(file))

                    fileList.Add(file);

        }

Guybrushs Lösung geht natürlich auch. :beagolisc

Geschrieben (bearbeitet)

Erstmal superlieben dank für eure Mühen :)

aber wo sollte ich dieses codebeispiel jetzt einbauen?

ich bin ja dabei die rekursive funktion "fkt" zu erstellen. im mom noch mit "return null;", damit ich beim compilen keinen fehler bekomme.

müsste ich den code dann ziwschen die {} stellen?


           private DirectoryInfo fkt(DirectoryInfo[] fkt2)

            {

                return null;

            }

also da, wo jetzt "return null;" steht, oder was müsste ich machen? danke SeToY Edit: Habe gerade mal den code umgebaut 'n bissle und nun das raus.. aber er gibt mir immer noch net die dateien in den unterverzeichnissen mit in die textbox1.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;


namespace WindowsApplication1

{

        public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

            Text = "Dateien in C:\\Temp";

            this.WindowState = FormWindowState.Normal;

        }


        private void button1_Click(object sender, EventArgs e)

        {

            DirectoryInfo dir = new DirectoryInfo(@"C:\Temp");

            string[] directories = Directory.GetDirectories(@"C:\Temp");

            FileInfo[] files = dir.GetFiles("*.xml");

            string[]lines = new string[files.Length];

            int i = 0;

            foreach (FileInfo file in files)

            {

                lines[i] = file.Name;

                i++;

            }

            textBox1.Lines = lines;



        }

            private void GetFiles(string folderPath, List<string> fileList)

            {

                if (!Directory.Exists(folderPath)) return;

                string[] dirs = Directory.GetDirectories(folderPath);

                foreach (string subDir in dirs)

                    GetFiles(subDir, fileList);


                string[] files = Directory.GetFiles(folderPath, "*.xml");

                foreach (string file in files)

                    if (!fileList.Contains(file))

                        fileList.Add(file);

            }



        private void button2_Click(object sender, EventArgs e)

        {

            textBox1.ResetText();

        }


        private void button3_Click(object sender, EventArgs e)

        {

            FileInfo file = new FileInfo(@"C:\Temp\export.txt");

            StreamWriter writer = new StreamWriter(file.FullName);

            foreach (string line in textBox1.Lines)

            {

                writer.WriteLine(line);

            }

            writer.Flush();

            writer.Close();

        }

    }

}

Bearbeitet von SeToY
Geschrieben

Sry 4 doppelpost.. bin nun aber weiter :bimei

ok, also ich hab nun die textbox in ne listbox geändert.. meine listbox heißt aber (damit ich nicht alles ummodeln muss) "textbox1".

wie schaffe ich jetzt, dass ich die ausgewählte datei mit einem klick auf "öffnen" (button 4) öffnen kann?


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Text = "Dateien in C:\\Temp";
this.WindowState = FormWindowState.Normal;
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();

List<string> files = this.GetFiles(@"C:\Temp", new List<string>());
string[] lines = new string[files.Count];

int i = 0;
foreach (string file in files)
{
textBox1.Items.Add(file);
i++;
}

}
private List<string> GetFiles(string folderPath, List<string> fileList)
{
if (!Directory.Exists(folderPath)) return fileList;
string[] dirs = Directory.GetDirectories(folderPath);
foreach (string subDir in dirs)
GetFiles(subDir, fileList);

string[] files = Directory.GetFiles(folderPath, "*.xml");
foreach (string file in files)
if (!fileList.Contains(file))
fileList.Add(file);

return fileList;
}


private void button2_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
FileInfo file = new FileInfo(@"C:\Temp\export.txt");
StreamWriter writer = new StreamWriter(file.FullName);
foreach (string line in textBox1.Items)
{
writer.WriteLine(line);
}
writer.Flush();
writer.Close();
}

private void button4_Click(object sender, EventArgs e)
{
// HIER MEIN ÖFFNEN-KNOPF


}
}
}
[/php]

danke und mfg

SeToY

Geschrieben (bearbeitet)

Also, habe nochmal drübergeschaut ^^

Ich soll die XML-Datei durchsuchen, einen wert finden, diesen ändern, und die datei wieder zurückspeichern.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Text = "Dateien in C:\\Temp";
this.WindowState = FormWindowState.Normal;
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();

List<string> files = this.GetFiles(@"C:\Temp", new List<string>());
string[] lines = new string[files.Count];

int i = 0;
foreach (string file in files)
{
textBox1.Items.Add(file);
i++;
}

}
private List<string> GetFiles(string folderPath, List<string> fileList)
{
if (!Directory.Exists(folderPath)) return fileList;
string[] dirs = Directory.GetDirectories(folderPath);
foreach (string subDir in dirs)
GetFiles(subDir, fileList);

string[] files = Directory.GetFiles(folderPath, "*.xml");
foreach (string file in files)
if (!fileList.Contains(file))
fileList.Add(file);

return fileList;
}


private void button2_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
FileInfo file = new FileInfo(@"C:\Temp\export.txt");
StreamWriter writer = new StreamWriter(file.FullName);
foreach (string line in textBox1.Items)
{
writer.WriteLine(line);
}
writer.Flush();
writer.Close();
}

private void button4_Click(object sender, EventArgs e)
{

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString());
XmlDocument doc = new XmlDocument();
}
}
}
[/php]

Bearbeitet von SeToY
Geschrieben

Ooooookay :P


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Text = "Dateien in C:\\Temp";
this.WindowState = FormWindowState.Normal;
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();

List<string> files = this.GetFiles(@"C:\Temp", new List<string>());
string[] lines = new string[files.Count];

int i = 0;
foreach (string file in files)
{
textBox1.Items.Add(file);
i++;
}

}
private List<string> GetFiles(string folderPath, List<string> fileList)
{
if (!Directory.Exists(folderPath)) return fileList;
string[] dirs = Directory.GetDirectories(folderPath);
foreach (string subDir in dirs)
GetFiles(subDir, fileList);

string[] files = Directory.GetFiles(folderPath, "*.*");
foreach (string file in files)
if (!fileList.Contains(file))
fileList.Add(file);

return fileList;
}


private void button2_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
FileInfo file = new FileInfo(@"C:\Temp\export.txt");
StreamWriter writer = new StreamWriter(file.FullName);
foreach (string line in textBox1.Items)
{
writer.WriteLine(line);
}
writer.Flush();
writer.Close();
}

private void button4_Click(object sender, EventArgs e)
{

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString());
XmlDocument doc = new XmlDocument();
doc.LoadXml(reader.ReadToEnd());
XmlReader read = new XmlReader();
}
}
}
[/php]

das hab ich nun ^^

in der xml steht:

[code] <add name="Debug" /> [/code]
, welches ich durch
[code] <add name="xxx" /> [/code]

ersetzen soll. danach wieder zurückspeichern.

Geschrieben

hmm, ungetestet:


string file = textBox1.SelectedItem.ToString();

XmlDocument doc = new XmlDocument(file); 

doc["add"].Attributes["name"].Value = "xxx";

doc.Save(file);

Geschrieben

funktioniert nicht.

das problem ist ja, dass ich vorher die dateien auslese, welche alle in dem verzeichnis vorhanden sind. also kann ich keine feste datei-url vergeben.

so bin ich weitergegangen:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Text = "Dateien in C:\\Temp";
this.WindowState = FormWindowState.Normal;
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();

List<string> files = this.GetFiles(@"C:\Temp", new List<string>());
string[] lines = new string[files.Count];

int i = 0;
foreach (string file in files)
{
textBox1.Items.Add(file);
i++;
}

}
private List<string> GetFiles(string folderPath, List<string> fileList)
{
if (!Directory.Exists(folderPath)) return fileList;
string[] dirs = Directory.GetDirectories(folderPath);
foreach (string subDir in dirs)
GetFiles(subDir, fileList);

string[] files = Directory.GetFiles(folderPath, "*.*");
foreach (string file in files)
if (!fileList.Contains(file))
fileList.Add(file);

return fileList;
}


private void button2_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
FileInfo file = new FileInfo(@"C:\Temp\export.txt");
StreamWriter writer = new StreamWriter(file.FullName);
foreach (string line in textBox1.Items)
{
writer.WriteLine(line);
}
writer.Flush();
writer.Close();
}

private void button4_Click(object sender, EventArgs e)
{

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString());
XmlDocument doc = new XmlDocument();
doc.LoadXml(reader.ReadToEnd());
XmlNodeList nodelist = doc.GetElementsByTagName("categoryFilters");
}
}
}
[/php]

.

Geschrieben
funktioniert nicht.

das problem ist ja, dass ich vorher die dateien auslese, welche alle in dem verzeichnis vorhanden sind. also kann ich keine feste datei-url vergeben.

Die URL (der Pfad zur Datei) steht doch in textBox1.SelectedItem?! :confused:

Geschrieben

ja ne eigentlich nicht.. ^^ hab jetzt auch weitergemacht:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Text = "Dateien in C:\\Temp";
this.WindowState = FormWindowState.Normal;
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();

List<string> files = this.GetFiles(@"C:\Temp", new List<string>());
string[] lines = new string[files.Count];

int i = 0;
foreach (string file in files)
{
textBox1.Items.Add(file);
i++;
}

}
private List<string> GetFiles(string folderPath, List<string> fileList)
{
if (!Directory.Exists(folderPath)) return fileList;
string[] dirs = Directory.GetDirectories(folderPath);
foreach (string subDir in dirs)
GetFiles(subDir, fileList);

string[] files = Directory.GetFiles(folderPath, "*.config");
foreach (string file in files)
if (!fileList.Contains(file))
fileList.Add(file);

return fileList;
}


private void button2_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
FileInfo file = new FileInfo(@"C:\Temp\export.txt");
StreamWriter writer = new StreamWriter(file.FullName);
foreach (string line in textBox1.Items)
{
writer.WriteLine(line);
}
writer.Flush();
writer.Close();
}

private void button4_Click(object sender, EventArgs e)
{

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString());
string file = textBox1.SelectedItem.ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(reader.ReadToEnd());
reader.Close();
XmlNodeList nodelist = doc.GetElementsByTagName("categoryFilters");
string nodeXml = nodelist[0].InnerXml;
XmlNodeList childs = nodelist[0].ChildNodes;

childs[0].Attributes["name"].Value = "xxx";

StreamWriter writer = new StreamWriter(file+".new.config");
string[] xml = doc.InnerXml.Split('>');
writer.WriteLine(xml[0]+">");
writer.Flush();
writer.Close();
}
}
}
[/php]

jetzt gibt er mir aber nur die erste zeile aus meinem xml-document aus :S

Geschrieben
ja ne eigentlich nicht.. ^^ hab jetzt auch weitergemacht:


//...

private void button4_Click(object sender, EventArgs e)
{

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString());
string file = textBox1.SelectedItem.ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(reader.ReadToEnd());
reader.Close();
XmlNodeList nodelist = doc.GetElementsByTagName("categoryFilters");
string nodeXml = nodelist[0].InnerXml;
XmlNodeList childs = nodelist[0].ChildNodes;

childs[0].Attributes["name"].Value = "xxx";

StreamWriter writer = new StreamWriter(file+".new.config");
string[] xml = doc.InnerXml.Split('>');
writer.WriteLine(xml[[B]0[/B]]+">");
writer.Flush();
writer.Close();
}
}
}
[/php]

jetzt gibt er mir aber nur die erste zeile aus meinem xml-document aus :S

Ist auch klar wenn du splittest.

"<node1 value="1">

<node2 value="2">"

Wird dann zu

{[b] "<node1 value=\"1\""[/b], "<node2 value=\"2\""}
Geschrieben

jetz muss ich schon wieder double-posten, weil ich meinen post net editieren kann :upps

naja.. bin soweit, dass er das dingen jetzt ändert. aber nur, wenn es sich an der angegebenen stelle befindet. wie schaff ich es jetzt, dass er das "debug" ändert, auch wenn es nich da is, wo es eigentlich ist?


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Text = "Dateien in C:\\Temp";
this.WindowState = FormWindowState.Normal;
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();

List<string> files = this.GetFiles(@"C:\Temp", new List<string>());
string[] lines = new string[files.Count];

int i = 0;
foreach (string file in files)
{
textBox1.Items.Add(file);
i++;
}

}
private List<string> GetFiles(string folderPath, List<string> fileList)
{
if (!Directory.Exists(folderPath)) return fileList;
string[] dirs = Directory.GetDirectories(folderPath);
foreach (string subDir in dirs)
GetFiles(subDir, fileList);

string[] files = Directory.GetFiles(folderPath, "*.config");
foreach (string file in files)
if (!fileList.Contains(file))
fileList.Add(file);

return fileList;
}


private void button2_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
FileInfo file = new FileInfo(@"C:\Temp\export.txt");
StreamWriter writer = new StreamWriter(file.FullName);
foreach (string line in textBox1.Items)
{
writer.WriteLine(line);
}
writer.Flush();
writer.Close();
}

private void button4_Click(object sender, EventArgs e)
{

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString());
string file = textBox1.SelectedItem.ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(reader.ReadToEnd());
reader.Close();
XmlNodeList nodelist = doc.GetElementsByTagName("categoryFilters");
string nodeXml = nodelist[0].InnerXml;
XmlNodeList childs = nodelist[0].ChildNodes;

childs[0].Attributes["name"].Value = "xxx";

StreamWriter writer = new StreamWriter(file+".new.config");
string[] xml = doc.InnerXml.Split('>');
//writer.WriteLine(xml[0] + ">");
foreach (string sfda in xml)
{
writer.WriteLine(sfda + ">");
}
writer.Flush();
writer.Close();
}
}
}
[/php]

danke schonmal :)

Geschrieben (bearbeitet)

He also

erst mal eine frage welche .Net version setzt du ein?

weil das

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString()); 
string file = textBox1.SelectedItem.ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(reader.ReadToEnd()); [/PHP]

geht auch einfacher ist aber von der .Net version abhängig

[PHP] doc.Load(textBox1.SelectedItem.ToString());

achja und wenn du nur einen bestimmten text ersetzen sollst warum liest du dann das ganze xml ein?


...
string temp = reader.ReadToEnd();
temp= temp.Replace("alterwert", "neuerWert");
...
[/PHP]

geht eventuel einfacher...

alternativ kannst du auch mit

[PHP]
doc.SelectNodes("//add[@name='debug']")

eine Nodelist erzeugen die du dann in einer schleife abarbeiten kannst.

ist evenetuel sogar der einfachste weg.

grüße

wolf

Bearbeitet von U[[ °LoneWolf°
ergänzung
Geschrieben

benutze .net 2005. Visual studio.

jetzt hab ich den code so gut wie fertig und hab ne neue aufgabe :P

beim klick auf den knopf "ändern" soll die komplette zeile mit dem kompletten tag gelöscht werden.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Text = "Dateien in C:\\Temp";
this.WindowState = FormWindowState.Normal;
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();

List<string> files = this.GetFiles(@"C:\Temp", new List<string>());
string[] lines = new string[files.Count];

int i = 0;
foreach (string file in files)
{
textBox1.Items.Add(file);
i++;
}

}
private List<string> GetFiles(string folderPath, List<string> fileList)
{
if (!Directory.Exists(folderPath)) return fileList;
string[] dirs = Directory.GetDirectories(folderPath);
foreach (string subDir in dirs)
GetFiles(subDir, fileList);

string[] files = Directory.GetFiles(folderPath, "*.config");
foreach (string file in files)
if (!fileList.Contains(file))
fileList.Add(file);

return fileList;
}


private void button2_Click(object sender, EventArgs e)
{
textBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
FileInfo file = new FileInfo(@"C:\Temp\export.txt");
StreamWriter writer = new StreamWriter(file.FullName);
foreach (string line in textBox1.Items)
{
writer.WriteLine(line);
}
writer.Flush();
writer.Close();
}

private void button4_Click(object sender, EventArgs e)
{

StreamReader reader = new StreamReader(textBox1.SelectedItem.ToString());
string file = textBox1.SelectedItem.ToString();
XmlDocument doc = new XmlDocument();

doc.LoadXml(reader.ReadToEnd());
reader.Close();

XmlNodeList nodelist = doc.SelectNodes("/configuration/loggingConfiguration/logFilters/add/categoryFilters/add");
foreach (XmlNode node in nodelist)
{
if (node.Attributes["name"].Value.ToLower() == "debug")
{
node.Attributes["name"].Value = "xxx";
}
}

StreamWriter writer = new StreamWriter(file+".new.config");
string[] xml = doc.InnerXml.Split('>');

//writer.WriteLine(xml[0] + ">");

foreach (string sfda in xml)
{
writer.WriteLine(sfda + ">");
}
writer.Flush();
writer.Close();
}
}
}
[/php]

hier die zeile:

[php]
<categoryFilters>
<add name="Info" />
<add name="Warning" />
<add name="Error" />
<add name="Debug" />
<add name="Fatal" />
</categoryFilters>

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...