[coding] Kann mir wer ein klitzekleines programm schreiben?

kaype

Housebesetzer
Teammitglied
Moderator
Dabei seit
13 Jul 2004
Beiträge
5.086
Reaktionen
302
Ort
Bremen
Mahlzeit ...

manchmal hasse ich Officeprogramme ...

Problem:

Adressentabelle mit ca. 1600 Adressen, Feldtrenner ist ";" ... in den Adressen wird teilweise auch ein "," verwendet z.b. "Musterstr.8, 2. Eingang"

Nun müssen diese Adressen Automatisch in Outlook importiert werden, Outlook "frisst" als Feldtrenner aber NUR ",".

Das Desaster ist klar: änder ich alle ";" in "," hab ich die Felder teils verschoben da ich dann zuviele "," als Feldtrenner habe durch das verwende des "," im normalen Text.

Lösung:

1. Alle "," in "." ändern.
2. Alle ";" in "," ändern.

Anforderung:

Ich bräuchte ein absolutes "mirkoprogramm" das mir eine Textdatei öffnet die ich als einzige Variable hinter dem Programmaufruf angebe, also z.b. "uebergabe.exe outlookuebergabe.txt". In dieser Textdatei müssen im 1. Durchlauf alle "," in "." geändert und im 2. Durchlauf alle ";" in "," ersetzt werden.

Das ganze muss nur schneller gehen als es der Windows Editor mit "Ersetzen" macht, der braucht da nämlich EWIG für. Aktuell sind es im 1. Durchlauf ca. 300 änderungen und im 2. Durchlauf 12500.

Ich mach das jetzt immer per Hand in UltraEdit, aber das kann ich den Mitarbeitern die das im Endeffekt machen sollen nicht zumuten.

Mit C++ ist das keine große Sache, hatte selbst sowas schonmal im Studium machen müssen, nur bin ich in punkto Coding so unglaublich schlecht das ich da jetzt stunden mit zubringen würde und die hab ich einfach nicht :)

Beispiel:
Original:

11802 - BUNICON Bremen ;UNICON Logistics GmbH;Konsul-Smidt-Str. 8b, 5. Stock ;28217 ;Bremen ;DE ;+49 (421) 596880 ;+49 (421) 5968855 ;info@unicon-logistics.de ;
Geändert:
11802 - BUNICON Bremen ,UNICON Logistics GmbH,Konsul-Smidt-Str. 8b. 5. Stock ,28217 ,Bremen ,DE ,+49 (421) 596880 ,+49 (421) 5968855 ,info@unicon-logistics.de ,

Könnte mir da eventuell schnell jemand helfen? Wäre absolut super, ist für nen C++ Crack sicherlich nen ding von 10 Minuten.


grüße, kaype
 
Maik-L More schrieb:
die Demo reicht und für private Zwecke eh umsonst.

kaype schrieb:
Ich mach das jetzt immer per Hand in UltraEdit, aber das kann ich den Mitarbeitern die das im Endeffekt machen sollen nicht zumuten.

Öhm Zitat Homepage des Herstellers

Der Einsatz der Freewareversion auf gewerblich genutzten PC's ist dagegen ausdrücklich verboten.

Naja, wird eh wohl ein paar Lizenzen kaufen müssen.
Die sind aber nicht so teuer, bei weniger als 10 Stück 25 Euro.
 
Wie sieht es denn mit einem Excelmakro oder sowas aus? Würde das auch gehen oder käme das wieder der "Ersetzen"-Funktion gleich?

Ich könnt mir vorstellen, dass man das Makro aufruft, das dann die entsprechende Datei öffnet, die Trenner ersetzt und (unter einem neuen Namen) abspeichert.

In welchem Format liegen die Daten denn vor?
 
wie es der zufall will ... excel ;)

@rest ...

inforapid werd ich mir mal angucken, hab vorhin 30 minuten google mit wörtern bombadiert aber nichts vernünftiges gefunden :)

@Maik,

wieso einmalig? Das passiert 3 mal die woche ... ist zum abgleichen der Kundendatenbank mit den öffentlichen Outlook Kontakten und mit 2 mausklicks gemacht, wenn die shice mit den feldtrennern nicht wäre.

grüße ...
 
Maik-L More schrieb:
Willst Du jetzt Klugshiz0rn?

1.) Nichts anderes habe ich gesagt!
2.) Die Demo darf man - auch gewerblich - testen!
3.) Er braucht, wenn überhaupt, max. 1 Lizenz, da dies aber eine einmalige Aktion ist, kann man auch die Demo dafür mißbrauchen (siehe Punkt 2).

Noch Fragen? Keine? Gut!

:cool:

Gruß M

Ich habe das ganz anders verstanden. :p
Hat Kaype dir aber ja auch schon erklärt. :D
 
Für nen Technics code ich dir alles :D .
Nein awas. Ich setz mich mal dran. Mal schaun ob was bei rauskommt...Muss mir erstmal die Dateistruktur von Excel anschaun.

Grüße Flipsen
 
@ Maik

InfoRapid ist zwar nett, aber lässt sich nicht automatisieren, ich kann zwar ein script schreiben das er diese Vorgänge abarbeiten soll, ich kann aber nicht sagen das er das Script beim start ausführen soll und ohne nachfrage ersetzt. Ergo nicht so 100% das was ich gesucht habe :/ aber schonmal sehr gut, danke!

@Flipsen

Mit excel soll da ja garnichts passieren, das wäre ja vielzuviel verlangt.

Ich habe ein Speditionsprogramm, indem die Mitarbeiter die Adressdaten unserer Kunden und Lieferanten Pflegen. In dem Speditionsprogramm gibt es einen Export für alle Kunden/Lieferanten per knopfdruck, bei raus kommt eine Exceltabelle mit allen Daten, die Nutz ich in Excel in einer schon fertigen Tabelle als Datenquelle und schreib mir die wichtigen Daten in eine CSV Datei.

Die CSV Datei wird von Outlook gelesen. Alles ne sache von 1 Minute, nur nervts halt das outlook , als Feldtrenner nimmt und nicht ; ... dann hät ich nämlich kein problem.

<wobei mir grade einfällt das ich danach mal suchen könnte einfach das zu ändern :D>

grüße ...
 
Ich hab wohl grad ne sehr elegante Lösung within Excel gefunden ... über die Funktion von definierten Namen kann man Outlook anweisen welche Bereiche von Exceltabellen importiert werden sollen. Ist zwar auch noch nicht vollautomatisch aber so semi ... und vorallem ohne den umweg des suchen&ersetzen ...

insofern ... kommando zurück ... aus der not wurde eine Alternativlösung gebohren :)
 
Warte mal. Haste schonmal daran gedacht, die Regionseinstellungen abzuändern? Also von Deutsch auf English. Kann sein, dass Outlook dann einen anderen Trenner animmt.
 
Ist das Problem jetzt behoben?

Ich könnt dir das Prog schreiben. Java oder C wie du willst.

Allerdings wenn wirklich nur das Zeichen geändert werden muss, und die daten nicht noch sortiert oder anderst aufbereitet werden sollten, wiso öffnest du dein File nicht in einem Texteditor und ersetzt die Zeichen per "Suchen, ersetzen" (Find and replace)?
 
Nochwas, soweit ich weiß ist CSV als Endung doch folgendes: Comma Separated Values. Warum entstehen denn dann überhaupt Semikolons?

Probier´s echt mal mit der Regionseinstellung inner Systemsteuerung aus. Wenn Du alles auf Deutsch gestellt hast, hat der Rechner oft ein Problem damit. Hier ist English meist ne gute Alternative.

Ich kenne das von Mess-Rohdaten. Will man die in Excel importieren, dann muss man auch noch "Text-in-Spalten" anwählen, damit alles schön aufgeteilt ist und da gibt es dauernd Länderkonflikte. Punkt statt Komma als Tausendertrenner, Leerzeichen, Semikolon, Komma, Anführungsstriche, Währungssymbole etc.
 
Dewitt schrieb:
Nochwas, soweit ich weiß ist CSV als Endung doch folgendes: Comma Separated Values. Warum entstehen denn dann überhaupt Semikolons?

Sorry, aber mir sind schon viele CSV Dateien mit Semikolon als Trenner über den weg gelaufen. Ein Komma wird halt oft doch in Texten eingesetzt ein Semikolon ist da seltener, daher kenne ich die meisten CSV Dateien mit Semikolon.

Der Name ist folglich irreführend. Er sollte heißen "ACTTCOTFFSSV" AnyCharacterThatTheCreatorOfTheFileFindsSuitableSeparatedValues.

So ist zumindest meine Praxiserfahrung.
 
Code:
#include <stdio.h>

int main (void)
{
  int c;
  FILE *fin;
  FILE *fout;
  
  // Hier dein einzulesender text, Pfad natürlich entsprechend ändern
  fin = fopen("eingabe.txt", "r");
  // Hier die Datei, in die du das Ergebnis schreiben willst
  fout = fopen("ausgabe.txt", "w");

  if (fin != NULL && fout != NULL)
  {
    while((c=fgetc(fin)) != EOF)
    {
      if (c == ',') 
        putc('.', fout);
      else if (c == ';')
        putc(',', fout);
      else
        putc(c, fout);
    }
  }
  else
  {
    printf("Datei konnte nicht gefunden werden!");
  }
  return 0;
}

Puh, kein Plan ob's funktioniert, habe jetzt auch keinen Compiler hier zum Testen. Müsste aber.
 
kauf dir nen apple und werd mit dem "automator" glücklich... :)

der ist genau für DAS geschaffen worden... :cool: außerdem haste nebenbei auch noch nen stylischen computer... :p
 
Mal ganz davon abgesehen das ich mir nen Workarround geschnibbelt hab mal paar grundsätzliche sachen die auch analog zu anderen Threads gelten könnten:

grundsätzlich...
Ohman Leute ... der Thread ist nichtmal eine Seite lang und die Leute geben Tipps oder stellen fragen die schon in den ersten Posting ausgeklammert oder beantwortet worden sind.

im einzelnen...
DeWitt: Jau, hab ich gemacht... war nicht zufriedenstellen. Soll heißen, Excel wars egal.

AreS: Ja hat sich erledigt, trotzdem danke. Editor scheidet aus wegen dem schon angesprochenen Problem das es ewig braucht für 100+ änderungen

Maik: Danke! :D

Bassline8: Exakt!

Alexxus: Was soll son neunmalkluger post in nem ernsten Thread? Schonmal versucht nen Apple in ner Domäne einzubinden? Ich krieg echt die krätze wenn hier wieder son applehippie meint seine Meinung kund tun zu müssen ... STAY OFF!

grüße ...
 
kaype schrieb:
Alexxus: Was soll son neunmalkluger post in nem ernsten Thread? Schonmal versucht nen Apple in ner Domäne einzubinden? Ich krieg echt die krätze wenn hier wieder son applehippie meint seine Meinung kund tun zu müssen ... STAY OFF!

grüße ...

Das hat nichts mit klugschei*erei zu tun, dass ist TATSACHE... :rolleyes:

Und überhaupt ist es kein größeres Ding ein Apple mit Mac OSX in eine Windows Domäne zu integrieren... Ich weiß ja nicht, an was für Apple Rechner du gedacht hast... :confused:

Sei doch nicht gleich so angepisst... :rolleyes:
 
Wieso? Leute die Vestax mögen und vor technics verteitigen sind auch nicht grad erfreut wenn sie Lobeshymnen über Technics in ihren "mein Vestax läuft nicht" Threads hören.

Ganz einfach, das hier ist ein Coding problem was Windows betrifft, tipps wie ... kauf dir nen mac gehören hier nicht her. Allein schon aus dem grund das du absolut NULL plan hast um wieviele PCs es geht (die getauscht werden müssten), NULL PLAN hast welche Software wir benutzen und last but not least NULL PLAN von meinem job hast.

Dein Hirnrissiger Tipp ist also quasi so als wenn ich Porsche erzählen wollen würde das Dieselmotoren sehrwohl top sind und 350km/h fahren können. Und so ist es mit Macs und Enterpriselösungen. Großfirmen verwenden entweder Windows oder Linux Server ... warum hab ich da nur noch nie was von Mac gehört? ... komisch ...

Nichts für ungut, aber ich bin es leid in jedem Thread der ein Windows Problem behandelt zu hören "kauf dirn mac!".

Ich administrier mitunter ein paar Macs meine Kunden privat, auch wenn ich das von Apple nicht schwarz auf weiss hab das ich es kann (wie es bei MS der Fall ist) und glaub mir ... Macs haben genau soviele Fehler und Probleme wie PCs, es fällt nur in der Maße nicht so auf da in "good ´ol germany" Macs nicht ansatzweise so vertreten sind wie PCs.

Macs sind auch nur "Computer" und vor einem Computer sitzt immernoch ein Mensch, und wie es der Zufall will sind 95% der Fehler eines Computer VOR dem monitor zu suchen ... hat mich die Erfahrung gelehrt ...

Wie dem auch sei ... aber verwende das Wort mac doch bitte in zukunft nicht in einem von mir gestarteten Thread windows PCs betrefend ok?

Die welt ist schön und alle sind liepppp ;)

grüße, kaype
 
habe nicht alles gelesen, falls noch interesse besteht code ich dir das in zehn minuten. pm an mich.
 
Hat sich erledigt, danke trotzdem für das nette angebot.

grüße, kaype
 
<OT>

Schau dir mal an, was Hamann mit dem 535d macht. Da schauen Porschefahrer dumm aus der Wäsche. Zudem ja Porsche nur überteuerte Produkte im Angebot hat. Also wäre ja dann Porsche eher Apple (wobei die nicht zwangsläufig überteuert sind), aber was ist dann mit den Dieselmotoren? Kann man das mit der neuen x86-Architektur vergleichen? Ooooooh, diese ewige Diskussion. :):)

</OT>
 
Guck dir audi und das lemans rennen an ... die gewinnen da mit nem diesel.

ist ja auch nur eine Metapher ;)
 
<ichAuchOT>

k-risma schrieb:
was Hamann mit dem 535d macht.

1. bmw ist für menschen ohne stolz, ehre, stil, anspruch und geschmack.
2. nein, nicht "hauptsache es fährt" und zu "es ist gescmackssache": siehe 1.
3. was würde hamann erst aus einem porsche machen?
4. schau dir an was hgp aus nem golf macht.
5. porsche ist für menschen ohne ehre, stil und geschmack.

:D
</ichAuchOT>

was meinst du mit neuer x86 architektur? die wird in zwei jahren 30. oder meinst du ne befehlssatzerweiterung?

;)
 
<OT part="hoffentlichdieletzte">

1. Nein. Kenne ich genug Gegenbeispiele.
2. Versteh ich nicht.
3. Für sowas ist Ruf zuständig.
4. Ja, ich weiß. Aber bitte in Serienoptik:D.
5. Siehe 1.

</OT>

Nix von wegen neu. Ich meinte den Umstieg auf Intel-Prozessoren. Korinthenkacker:D
 

Neue Themen


Zurück
Oben