AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Warum funktioniert mein Übersetzer nicht?

Ein Thema von Phillip0405 · begonnen am 25. Jan 2016 · letzter Beitrag vom 25. Jan 2016
Antwort Antwort
Phillip0405

Registriert seit: 25. Jan 2016
Ort: NRW
24 Beiträge
 
Delphi XE3 Professional
 
#1

AW: Warum funktioniert mein Übersetzer nicht?

  Alt 25. Jan 2016, 14:29
Ich habe es jetzt mal so geändert, aber es kommt dann immer wieder die Fehlermeldung "Zugriffsverletzung bei Adresse 005A8301 in Modul "Übersetzer"".
Kennt ihr den Fehler?
P.B.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Warum funktioniert mein Übersetzer nicht?

  Alt 25. Jan 2016, 14:53
Was hast du wie geändert?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Phillip0405

Registriert seit: 25. Jan 2016
Ort: NRW
24 Beiträge
 
Delphi XE3 Professional
 
#3

AW: Warum funktioniert mein Übersetzer nicht?

  Alt 25. Jan 2016, 15:12
Delphi-Quellcode:
unit UnÜbersetzer;
interface
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Actions,
  Vcl.ActnList, Vcl.ExtCtrls, Vcl.Menus;

type
  TForm4 = class(TForm)
    Edit1: TEdit;
    edit2: TEdit;
    Button1: TButton;
    edit3: TEdit;
    procedure Button1Click(Sender: TObject);


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

var
  Form4: TForm4;


implementation

{$R *.dfm}

 procedure TForm4.Button1Click(Sender: TObject);


var
   englisch: TStringlist;
   W, satz : string;
   i, b,a,buchstabe: integer;

 begin
   w := edit1.Text;
   satz:=edit1.Text;
   englisch := TStringlist.create;
    a:=Pos('Ü',W,a);
    a:=Pos('Ä',W,a);
    a:=Pos('Ö',W,a);
    a:=Pos('ß',W,a);
    a:=Pos('a''e''i''o''u',W,a);
   try
      if Satz[buchstabe]='Üthen begin
         a:=Pos('Ü',W,a);
         Delete(w,b,a);
         insert('Ue',w, a);
         edit3.Text:= w;
         englisch.loadFromFile('D:\Übersetzer\Neu1.txt');
         edit2.Text := (englisch.Values[W]);
      end
  finally
        try

            if Satz[buchstabe]='Äthen begin
            a:=Pos('Ä',W,a);
            Delete(w, b, a);
            insert('Ae',w, a);
            edit3.Text:= w;
            englisch.loadFromFile('D:\Übersetzer\Neu1.txt');
            edit2.Text := (englisch.Values[W]);
           englisch.Free;
         end
      finally
        try

          if Satz[buchstabe]='Öthen begin
          a:=Pos('Ö',W,a);
          Delete(w,b, a);
          insert('Oe',w, a);
          edit3.Text:= w;
          englisch.loadFromFile('D:\Übersetzer\Neu1.txt');
          edit2.Text := (englisch.Values[W]);
          englisch.Free;
          end
        finally
            try
                if Satz[buchstabe]='ßthen begin
                a:= Pos('ß',W,a);
                Delete(w,b, a);
                insert('ss',w, a);
                edit3.Text:= w;
                englisch.loadFromFile('D:\Übersetzer\Neu1.txt');
                edit2.Text := (englisch.Values[W]);
                englisch.Free;
                end

            finally
                if Satz[buchstabe]='a''e''i''o''uthen begin
                edit3.Text:= w;
                englisch.loadFromFile('D:\Übersetzer\Neu1.txt');
                w:=edit1.Text;
                englisch.free;
                end


            end;
         end;
       end;
      end;
 end;
 end.
P.B.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Warum funktioniert mein Übersetzer nicht?

  Alt 25. Jan 2016, 15:28
Du gibst die Liste immer noch frühzeitig frei und deine try..finally Blöcke machen in der Form absolut gar keinen Sinn .. Den 10-fachen LoadFromFile() Aufruf kannst du dir btw. auch sparen. Einmal reicht.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: Warum funktioniert mein Übersetzer nicht?

  Alt 25. Jan 2016, 15:33
Ich finde das Ganze auch ohne die Try-Finally-Blöcke ziemlich konfus. Vielleicht kannst du mal beschreiben, was genau du machen möchtest, bzw. was passieren soll?

Meine Vermutung:
Nutzer gibt Wort ein und drückt Button.
Dann sollen in dem Wort die Umlaute ersetzt werden?
Dann soll das Wort in einer zu ladenden Liste nachgeschaut werden, um die Übersetzung zu finden?
Diese dann ausgeben?
Ralph
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Warum funktioniert mein Übersetzer nicht?

  Alt 25. Jan 2016, 15:42
Hallo,

z.B. hier

Delphi-Quellcode:
englisch.free; // Variable wird freigegeben
englisch.loadFromFile('D:\Übersetzer\Neu1.txt'); // -> puff !!!
Wie sieht eigentlich deine Neu1.txt aus ?

Hier noch ein paar Hilfen:

F5 - Breakpoint an der Cursorposition setzen/entfernen
Strg+F5 - Variable am Cursor überwachen
F7 - einen Schritt machen (steht der Cursor auf einer Methode, wird in die Methode reingesprungen)
F8 - einen Schritt machen (steht der Cursor auf einer Methode, wird NICHT in die Methode reingesprungen)


Heiko
Heiko
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#7

AW: Warum funktioniert mein Übersetzer nicht?

  Alt 25. Jan 2016, 15:31
Die Variable buchstabe ist immer noch nicht vernünftig initialisiert! Wie willst Du ein Zeichen verarbeiten, das nicht definiert ist? Erhältst Du dafür eigentlich keine Warnung, oder hast Du die ausgeschaltet?
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz