Autor Beitrag
coreXX
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 10.10.08 08:04 
Guten Morgen
ich würde gerne folgenden Code so zusammenfassen das ich nur noch eine Methode aufrufen muss ?! Allerding weiß ich nicht genau wie ich damit umzugehen hab. Hier der Teil der im Moment 3 mal aufgerufen wird halt mit unterschiedlichen Endungen (.ICO,.BMP,.PNG).
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
case ".PNG": {
      Image img = Image.FromFile(file);
              
      OleDbCommand cmd = new OleDbCommand(
            "INSERT INTO Images( Filename, Width, Height, Colordepth) VALUES " +
      "(@FileName,@Width,@Height,@PixelFormat);"
              );

      OleDbParameter fileParameter = new OleDbParameter("FileName", file);
      OleDbParameter widthParameter = new OleDbParameter("Width", img.Width);
      OleDbParameter heightParameter = new OleDbParameter("Height", img.Height);
      OleDbParameter pixelFormatParameter = new OleDbParameter(
      "PixelFormat", img.PixelFormat  );

      cmd.Parameters.Add(fileParameter);
      cmd.Parameters.Add(widthParameter);
      cmd.Parameters.Add(heightParameter);
      cmd.Parameters.Add(pixelFormatParameter);

      cmd.Connection = cnc;
      cmd.ExecuteNonQuery();
      break;
            }

Diesen Teil würde ich gerne so verkürzen das ich nur noch zumidests für die beiden anderen endungen eien methode aufrufen muss.
Ich hoffe ihr könnt mir da helfen ?!

Grüß
coreXX

Moderiert von user profile iconUGrohne: Quote- durch C#-Tags ersetzt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 10.10.08 09:03 
Hallo,

ich kann überhaupt nichts erkennen, worin sich die Verarbeitung von PNG oder ICO unterscheiden sollte. Dieser Block sollte doch für alle Bild-Varianten identisch funktionieren; der einzige Unterschied liegt doch im PixelFormat - und das hast Du durch den Parameter schon vereinheitlicht.

Also solltest Du auf die case-Unterscheidung sofort verzichten können. Jürgen

PS. Hatte ich Dich nicht schon darauf hingewiesen, dass C#-Code als solcher markiert werden sollte (nicht als Zitat)? Und Oledb-Parameter werden durch '?' gekennzeichnet.
coreXX Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 10.10.08 09:13 
Ja diese Oledb und auch die Parameter sind für alle gleich. Da brauch ich diesm Abschnitt nur einen Namen oder sowas zuweisen sodass ich nur noch diesen Namen den ich ergeben hab aufrufen das geht doch bestimmt irgendwie oder ? UNd genau diese Möglichkeit suche ich dafür.

Gruß
coreXX
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 10.10.08 09:19 
Ich verstehe es nicht. Wo und wofür willst Du einen Namen vergeben? Das sehe ich in Deinem Code nicht. Dein Bild wird zz. unter dem Dateinamen gespeichert, oder? Das ist doch der Name, oder? Jürgen

PS. Genauso, wie Rechtschreibung und Zeichensetzung das Leseverständnis erleichtern, gilt das auch für die Formulierung von Problemen und Unklarheiten. Bitte überlege doch vorher, wie Deine Formulierungen auf einen Leser wirken! (Und ersetze im ersten Beitrag die "Zitat"-Kennzeichnung durch C#-Kennzeichnung.)

PS2. Es gibt in Foren auch Teilnehmer, die älter als 19 Jahre sind. Solche Leute mit "Jungs" anzureden, ist doch etwas sehr flapsig.
coreXX Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 10.10.08 09:34 
Nee Nee nicht dafür !! ich möchte diesen kompletten abschnitt quasi einen namen geben das ich den bei den andere bildformaten nur noch aufrufen muss ! anstatt für jedes bildformat diesen kompletten abschnitt schreiben zu müssen damit ich den code auch verkürzen aknn

gruß
coreXX
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 10.10.08 10:04 
Dann lager das ganze doch als Funktion aus.
coreXX Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 10.10.08 10:10 
das hört sich genau nach dem an was ich suche !!!
bin aber ein anfänger un weiß nicht wirklich wie das geht oder wie ich das angehen soll ?

gruß
coreXX
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 10.10.08 10:16 
Das Code-Stück das du gepostet hast stammt doch auch aus einer Funktion.

Und wenn du nicht weiss wie das geht empfehle ich dir das erstmal nachzulesen.(Buch / e-book / tutorial / ...)

Sowas gehört zu den absoluten Grundlagen.