Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren (https://www.delphipraxis.net/188121-rechnung-mit-sonderzeichen-rechnung-ohne-sonderzeichen-konvertieren.html)

Phillip0405 2. Feb 2016 15:35

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Zitat:

Zitat von nahpets (Beitrag 1329110)
Zitat:

Zitat von Phillip0405 (Beitrag 1329108)
Das klappt leider auch nicht.

Könntest Du das bitte präzisieren?

Da kommt dann eine Fehlermeldung mit dem Pfad und der ursprünglichen Rechnung, mehr steht da nicht drin.

p80286 2. Feb 2016 15:55

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Zitat:

Zitat von Phillip0405 (Beitrag 1329111)
Zitat:

Zitat von nahpets (Beitrag 1329110)
Zitat:

Zitat von Phillip0405 (Beitrag 1329108)
Das klappt leider auch nicht.

Könntest Du das bitte präzisieren?

Da kommt dann eine Fehlermeldung mit dem Pfad und der ursprünglichen Rechnung, mehr steht da nicht drin.

Was klappt nicht? - dein Sourcecode wäre echt hilfreich.
Fehlermeldungen enthalten meistens einen Hinweis auf das gefundene Problem, Fehlermeldungen die nur eine Pfadangabe enthalten sind doch recht selten.
(vielleich "File not found?")

Gruß
K-H

nahpets 2. Feb 2016 15:56

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Also, wie wäre es damit:
  1. Du postes mal den jetzt aktuellen, vollständigen Quelltext.
  2. Du benennst/markierst darin die Zeile, in der der Fehler auftritt.
  3. Du kopierst den Text der Fehlermeldung hier ins Forum.
Dann könnten wir eventuell die Möglichkeit haben, zwischen Fehlermeldung und Quelltext eine Verbindung herzustellen, um gezielt Hilfestellung geben zu können.

Die momentanen Informationen reichen nicht aus, um irgendwie hilfreich aggieren zu können.

Phillip0405 3. Feb 2016 07:31

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Ich habe noch etwas geändert und es kommt keine Fehlermeldung mehr, aber es passiert auch nichts, außer das alles gelöscht wird aus der Ursprungsdatei.
Delphi-Quellcode:
unit Unit5;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Inifiles,
  Vcl.RibbonLunaStyleActnCtrls, Vcl.Ribbon;

type
  TForm5 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    function Löschen(text:string;alt:string): string;

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
var
sl:tstringlist;
MyInifile: TInifile;
sFile,a,test:string;
i:integer;
begin
MyIniFile:= TInifile.Create('C:\Users\Praktikant\Desktop\Phillip Beermann, Praktikant\`Rechnung´\MyConfig.ini');
sFile:= MyIniFile.ReadString('Verzeichnis','Quelle','Irgendetwas ist falsch!');
sl:=tstringlist.Create;
sl.LoadFromFile(sfile);


    for i:= 0  to sl.Count -1 do begin
      sl.Text:=Löschen(sl.Text,'\A+');
      sl.Text:=Löschen(sl.Text,'\A-');
      sl.Text:=Löschen(sl.Text,'\S+');
      sl.Text:=Löschen(sl.Text,'\S-');
      sl.Text:=Löschen(sl.Text,'\U+');
      sl.Text:=Löschen(sl.Text,'\U-');
    end;
a:=MyIniFile.ReadString('Verzeichnis','Ziel','');
sl.SaveToFile(sfile);
MyIniFile.Free;
sl.Free;
end;

 function TForm5.Löschen(text:string;alt:string): string;
  var
  b,a :integer;
 begin
  while b>0 do begin
  b:=Pos(alt,text);
  a:=length(alt);

   text:=copy(text,b,a);
   Delete(text,b,a);
   b:=Pos(alt,text);
  end;
  result := Text;

end;
end.

vagtler 3. Feb 2016 07:58

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Naja, das Programm macht halt genau das, was Du programmiert hast. Also vornehmlich nichts.

Warum ignorierst Du alle Ratschläge? Hast Du verstanden, was nahpets z.B. in http://www.delphipraxis.net/1329108-post9.html anmerkte?

nahpets 3. Feb 2016 13:38

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Nagut, ich versuch's nochmal mit folgenden Annahmen:

text sei: *\A+*
alt sei: \A+
erwartetes Ergebnis: **
Delphi-Quellcode:
function TForm5.Löschen(text:string;alt:string): string;
  var
  b,a :integer;
begin
  // Welchen Wert hat hier eigentlich b? Größer als 0?
  while b > 0 do begin
    b := Pos(alt,text); // Position von \A+ in *\A+* ist 2
    a := length(alt); // Länge von \A+ ist 3
    text := copy(text,b,a); // -> Copy('*\A+*',2,3) ergibt \A+
    Delete(text,b,a); // Delete('\A+',2,3) ergibt \
    b := Pos(alt,text); // Pos('\A+','\') ergibt 0
  end;
  result := Text; // Rückgabewert = \, wenn b am Anfang zufällig > 0 war, sonst wird Text zurückgegeben.
end;

vagtler 3. Feb 2016 13:44

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Schön finde ich auch, dass hier augenscheinlich sämtliche Compiler-Hinweise ganz konsequent ignoriert werden. Die Delphi-Praxis wird's schon richten...

Phillip0405 3. Feb 2016 15:33

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Zitat:

Zitat von vagtler (Beitrag 1329256)
Schön finde ich auch, dass hier augenscheinlich sämtliche Compiler-Hinweise ganz konsequent ignoriert werden. Die Delphi-Praxis wird's schon richten...

Compiler- Hinweise gab es bei mir nicht(die hätte ich umgesetzt).

Zitat:

Zitat von vagtler (Beitrag 1329195)
Naja, das Programm macht halt genau das, was Du programmiert hast. Also vornehmlich nichts.

Warum ignorierst Du alle Ratschläge? Hast Du verstanden, was nahpets z.B. in http://www.delphipraxis.net/1329108-post9.html anmerkte?

Als ich die Ratschläge umgesetzt habe, ist mein Delphi- Programm vor Fehlermeldungen abgestürzt.

nahpets 3. Feb 2016 15:53

AW: Rechnung mit Sonderzeichen in Rechnung ohne Sonderzeichen konvertieren
 
Zitat:

Zitat von Phillip0405 (Beitrag 1329290)
Zitat:

Zitat von vagtler (Beitrag 1329256)
Schön finde ich auch, dass hier augenscheinlich sämtliche Compiler-Hinweise ganz konsequent ignoriert werden. Die Delphi-Praxis wird's schon richten...

Compiler- Hinweise gab es bei mir nicht(die hätte ich umgesetzt).

Beim Kompilieren bekomme ich für die Funktion Löschen auf jeden Fall diese Warnung:
Code:
[Warnung] Unit1.pas(5756): Variable 'b' ist möglicherweise nicht initialisiert worden
Und der Compiler hat mit dieser Aussage absolut recht.

Zitat:

Zitat von Phillip0405 (Beitrag 1329290)
Zitat:

Zitat von vagtler (Beitrag 1329195)
Naja, das Programm macht halt genau das, was Du programmiert hast. Also vornehmlich nichts.

Warum ignorierst Du alle Ratschläge? Hast Du verstanden, was nahpets z.B. in http://www.delphipraxis.net/1329108-post9.html anmerkte?

Als ich die Ratschläge umgesetzt habe, ist mein Delphi- Programm vor Fehlermeldungen abgestürzt.

Welche Ratschläge hast Du wie umgesetzt?

Mir ist Delphi noch nie wegen Fehlermeldungen abgestürzt, aber ich habe schon häufiger wegen zu vieler Fehlermeldungen den Durchblick verloren.

Oder meinst Du mit mein Delphi- Programm das von Dir erstellte Programm?
Wenn ja, welche Fehler hat es denn ausgegeben, bevor es abgestürzt ist? (Die Fehlermeldungen, die gewöhnlich in einer Messagebox ausgegeben werden, kann man in der Messagebox mit Strg+C in die Zwischenablage kopieren und hier einfügen!)

Deine Funktion Löschen habe ich kommentiert und dort (hoffentlich vermutlich halbwegs) verständlich rangeschrieben, warum das so nicht funktionieren kann.
Hast Du davon irgendwas berücksichtigt?
Wenn ja was?
Welche Fehlermeldungen des Compilers resultierten daraus?
Wie sieht Dein aktueller Quelltext der Funktion jetzt aus?
Eventuell könnte es hilfreich sein, wenn Du uns mal ein Muster der Dateien als Anhang zur Verfügung stellen könntest, dann könnten wir auch mal mit realen Dateiinhalten versuchen herauszufinden, wo es denn da sonst noch so klemmen könnte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz