[C#]Dateinnamen Auslesen.

krizzelfix

Commander
Registriert
Sep. 2005
Beiträge
2.626
Moin.
Ich möchte ein Progarmm schreiben das mir ein HTML Tabelle baut in der Bilder mit dem dazugehörigem Javascript enthalten ist.
z.B.
HTML:
<tabel>
 <tr>
  <td><a href="javascript:GrafikAnzeigen('IMGP0413.JPG', '1024', '768');"><img src="IMGP0413k.jpg" height="96" width="128" border="0"></a></td>
  .
  .
  .
 </tr>

Wie kann ich mit C# den Namen einer Datei auslesen??

MFG

{-=TeWeS=-}
 
Warum machste sowas nicht in php? Ist dann dynamisch und viel einfacher!
Oder nehm eine Gallerie, sowas gibts schon fertig, genau wie du es willst

Vorschaubilder und Ordner auslesen ist jawohl das einfachste was man in PHP machen kann

David
 
Moin.
Danke fuer die schnellen Antworten.

@kaepten:
Ich will die Dateinamen in einen String speichern und dann über ein label in einer Tabelle ausgeben.

@davidbaumann:
Ich habe von php noch nicht so viel Ahnung wie von C#.
Wenn man eine Gallerie aus dem Internet nimmt hat man meistens das problem das die voll mit Werbung sind und/oder das man sie nicht an den Style der Homepage anpassen kann.

MFG

{-=TeWeS =-}
 
Kumpel hats mal genau passend formuliert: Im Grunde sind alle Programmiersprachen gleich.
Schau nach ner Referenz. Ist wirklich nicht schwer.

Bei sf.net gibts nur OpenSource, garanitert werbefrei :) Ein Nachbar von mir entwickelt sowas, mir fällt aber der Name nichtmehr ein :)

David

Edit: Habs gefunden: http://coppermine-gallery.net/
 
Zuletzt bearbeitet:
Bei php gibts ne Library um mit Bildern umzugehn, kenn das aber nicht von C#

Und die Bilder einfach per width= kleinzumachen ist bandbreitenverschwenung

David
 
in dem code ist das auch nur nochmal zu Sicherheit wenn Bilder im hochformat gemacht wurden. Ansonsten sind die biler ja schon auf 128x96px
 
@tewes
Ehrlicherweise habe ich die Zusammenhänge noch nicht verstanden, aber in C# sind folgende zwei Klassen für Datei- und Verzeichnisinformationen zuständig:

Im Namespace System.IO
- FileInfo
- DirectoryInfo

Beide Klassen bieten sehr einfache und Umfangreich Methoden.

Z.B. um alle Dateien eines Verzeichnisses zu lesen: DirectoryInfo.GetFiles(string aPath) und dann bietete die FileInfo Klasse alle Angaben über eine Datei.

Ist wirklich toll einfach in der Anwendung, hat das mal eine Idee gegeben?
 
@kaepten:
Ich will ein programm schreiben was die bilder aus einem ordner in eine tabelle packt und ich die dann nur noch per drag&drop in die html datei einbinden.


muss damit mal ein bisschen rumprobieren.

thx für den tipp
 
Ok, dann liege ich mit DirectoryInfo.GetFiles() nicht schlecht.

Schau mal den Beispielcode aus der MSDN an:

Code:
using System;
using System.IO;

public class NameTest 
{
    public static void Main() 
    {
        // Create a reference to the current directory.
        DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory);
        // Create an array representing the files in the current directory.
        FileInfo[] fi = di.GetFiles();
        Console.WriteLine("The following files exist in the current directory:");
        // Print out the names of the files in the current directory.
        foreach (FileInfo fiTemp in fi)
            Console.WriteLine(fiTemp.Name);
    }
}
 
Wie kann ich jetzt die Dateinamen in eine Variable bekommen.

habs mal mit "name = fiTemp.Name;" probiert....hat aber noch nich so ganz geklappt.
 
Mach keine Doppelpostings, mit Edit kannst Du problemlos Deinen letzten Post nachbearbeiten! (Dopelposts sind gegen die Spielregeln des Forums).

Zu Deinem Problem:

Code:
 string myFilename = fiTemp.Name;
 Console.WriteLine(myFilename);
 
k werd ich nich nochmal machen

wenn ich das jetzt einbaue und kompiliere gibt er mir
"The type or namespace name 'fiTemp' not be found(are you missing a using directive or an assembly reference?)(CS0246)" aus.
 
Frage: Wie programmierst Du das überhaupt, bzw. mit welcher Entwicklungsumgebung? Poste doch sonst mal den gesamten Code.
 
Programmiere mit SharpDevelop.
Code:
using System;
using System.IO;

public class NameTest 
{
    public static void Main() 
    {
    	//Initiallition from strings.
    	string path;
    	//Request for the Path.
    	path = Console.ReadLine();
        // Create a reference to the current directory.
        DirectoryInfo di = new DirectoryInfo(path);
        // Create an array representing the files in the current directory.
        FileInfo[] fi = di.GetFiles();
        Console.WriteLine("The following files exist in the current directory:");
        // Print out the names of the files in the current directory.
        foreach (FileInfo fiTemp in fi)
        	Console.WriteLine(fiTemp.Name);
        //Input string from fiTemp in the string name.
        //Just a test.
        string myFilename = fiTemp.Name;
		Console.WriteLine(myFilename);
    }
}
 
Das Problem lag an dem for Loop. Etwas unsauber dass es im Beispiel keine Klammerung gab. Aus diesem Grund entstand der Fehler. Mach es so:

Code:
        foreach (FileInfo fiTemp in fi) {
            Console.WriteLine(fiTemp.Name);
            //Input string from fiTemp in the string name.
            //Just a test.
            string myFilename = fiTemp.Name;
            Console.WriteLine(myFilename);
        }

Wenn keine Klammerung exisitert, dann gehört nur die Zeile Console.WriteLine(fiTemp.Name); zum for. Ausserhalb der for Schleife ist dann fiTemp natürlich wieder unbekannt...
 
Zurück
Oben