FlowHeater Logo

FlowHeater Support Forum

weil Einfach - produktiver ist

Freeware Version herunterladen (10 MB)

Mit der Freeware Version können bis zu 100.000 Datensätze verarbeitet werden!

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: FileName auf Writeseite zyklisch ändern

FileName auf Writeseite zyklisch ändern 6 Jahre 5 Monate her #520

Hallo Herr Stark,

ein Special-Problem, wie ich vermute:

Ich muss irgendwie programmatisch aus einem der Heater heraus auf den Filename der Writeseite Einfluß nehmen.
Etwa indem ich die Ausgabe der Writeseite in mehrere Files aufsplitte und entsprechend benenne.

Ist das irgendwie möglich, gibt es oder gab es da schon mal etwas?


Ich wusste ich habe etwas vergessen:
2. Ist es möglich, die o.g. Dateien größenmäßig zu begrenzen, nach Anzahl Datensätze oder nach KBytes?

Vielen Dank


Der Replaceheater hat einen größeren Anteil der NET.Script-Heater in einigen meiner *.fhd's abgelöst, der ist wirklich genial. :)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Aw: FileName auf Writeseite zyklisch ändern 6 Jahre 5 Monate her #525

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1263
Kein Spezialfall, mittlerweile Standard :)

Dateien anhand der Größe aufzusplitten ist leider nicht möglich. Über folgendes Skript können Sie das aber anhand der Anzahl der verarbeiteten Datensätze erledigen.

Das Skript bzw. den .NET Script Heater einfach zwischen eine bestehende Verbindung setzen. Wichtig: Diese Verarbeitung funktioniert nur im Massendaten Modus !
int lines = 0;
int files = 0;

public object DoWork()
{
  if (InValues.Length != 1)
    throw new Exception("1 Parameter erwartet!");
  
  // Dateiname nicht im Testmodus setzen!
  if(AdapterWrite.OnlyTest == true)
    return InValues[0].GetValue();

  if (lines > 100 || files == 0)
  {
    // Zeilenzähler zurücksetzen
    lines = 0;

    // Dateizähler hochzählen
    files++; 

    // Write Adapter holen
    TextFileAdapter adapter = (TextFileAdapter)AdapterWrite;

    // Dateibname neu setzen
    adapter.Filename = "output_" + files.ToString() + ".csv";
  } 

  // Zeilenzähler hochsetzen
  lines++;

  // Eingangsparameter für weitere Verarbeitung wieder zurückliefern
  return InValues[0].GetValue();
}

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
  • Seite:
  • 1
Ladezeit der Seite: 0.085 Sekunden