AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Char Vergleich mit Charfeld

Ein Thema von n00b_on_knees · begonnen am 2. Sep 2003 · letzter Beitrag vom 8. Sep 2003
 
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#1

Char Vergleich mit Charfeld

  Alt 2. Sep 2003, 21:16
N'Abend!

Ich bin gerade bei einem Programm bei dem ich ja schon vor ein paar Wochen Probleme hatte, was sich aber nicht so wirklich beheben hat lassen. Jetzt habe ich das ganze etwas umgeschrieben, aber es tut sich noch immer ein Fehler auf. Ich vergleiche ein eingelesenes CharElement mit den einzelnen Elementen eines Charfeldes, doch immer wenn ich das tue, kommt eine Exception, dass das gesuchte Wort keine Integerzahl wäre. Ich frage mich natürlich was hier eine Integerzahl zu suchen hat.
Und jetzt habe ich sogar das Problem, das die .EXE Datei nicht erstellt werden kann.
Jetzt kann ich auch das ganze nicht debuggen, also frage ich wiedermal euch was da der Fehler sein könnte.

Ich poste hier den ganzen Quellcode, falls er zu lang ist oder es euch weiterhelfen würde, wenn ich das ganze als Anhang beifügen könnte, lasst es mich bitte wissen.

Der Sinn des Programms besteht darin, eben ein CharElement im StringGrid zu finden, und ab dieser Position alle Elemente des StringGrids mit einem beliebigen Wert zu füllen.

Delphi-Quellcode:
unit fCharMatrix;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
//Konstatendeklaration
const
  M = 5;
  N = 5;
type
    TFeld = array [1..M, 1..N] of char;
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    lbGesucht: TLabel;
    edGesucht: TEdit;
    btFinden: TButton;
    procedure btFindenClick(Sender: TObject);
    procedure ReadIn(var A: TFeld; s: TStringGrid);
    procedure DeleteMatrix(var A: TFeld; s: TStringGrid; var x, y: integer);
  private
    function SubMatrix(var A: TFeld; s: TStringGrid; Ges: char; var x, y: integer): boolean;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.SubMatrix(var A: TFeld; s: TStringGrid; Ges: char; var x, y: integer): boolean;
//Variablendeklaration
var
  i, j: integer;
begin
  i:= 1;
  j:= 1;
  repeat
     if (A[i, j] = Ges) then
       begin
         x:= i;
         y:= j;
         result:= true;
       end
     else
       result:= false;
       inc(i);
       inc(j);
  until (result = true);
end;

procedure TForm1.DeleteMatrix(var A: TFeld; s: TStringGrid; var x, y: integer);
//Variablendeklaration
var
  i, j: integer;
begin
  for i:= (x+1) to M do
    for j:= (y+1) to N do
      A[i, j]:= #240;
end;

procedure TForm1.ReadIn(var A: TFeld; s: TStringGrid);
//Variablendeklaration
var
  i, j: integer;
begin
  for i:= 1 to M do
    for j:= 1 to N do
      A[i, j]:= Chr(StrToInt(s.Cells[i, j]));
end;

procedure TForm1.btFindenClick(Sender: TObject);
//Variablendeklaration
var
  Ges: char;
  s: TStringGrid;
  Gef: Boolean;
  A: TFeld;
  x, y: integer;
begin
  Readin(A, s);
  Ges:= Chr(StrToInt(edGesucht.Text));
  s:= StringGrid1;
  Gef:= SubMatrix(A, s, Ges, x, y);
  if (Gef = True) then
    DeleteMatrix(A, s, x, y);
end;

end.
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
 


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 01:03 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