AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi String, Integer-inkompatible Type. Wo liegt mein Fehler?
Thema durchsuchen
Ansicht
Themen-Optionen

String, Integer-inkompatible Type. Wo liegt mein Fehler?

Ein Thema von gathering · begonnen am 8. Mai 2007 · letzter Beitrag vom 8. Mai 2007
Antwort Antwort
gathering

Registriert seit: 13. Mär 2007
5 Beiträge
 
#1

String, Integer-inkompatible Type. Wo liegt mein Fehler?

  Alt 8. Mai 2007, 21:38
Delphi-Quellcode:
program Gehalt1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TGehaltsliste = RECORD //Record definieren
    name : STRING[20];
    vorname : STRING[20];
    gebdatum : STRING[10];
    gehalt : STRING[10];

  END;


var
  person, person1, person2, person3 : TGehaltsliste;
  fp: File OF TGehaltsliste;



FUNCTION MaxGehalt(dateiname:string):STRING;
  VAR gehalt:INTEGER; fp:FILE OF TGehaltsliste; person:TGehaltsliste;
  BEGIN
    gehalt:=0;
    ASSIGN(fp, dateiname);
    Reset(fp);
    While NOT Eof(fp) DO Begin
      Read(fp, person);
      If person.gehalt > gehalt THEN gehalt:=person.gehalt; //In dieser Zeile zeigt er mir beim compilen den Fehler an
    End;
    Close(fp);
    result:=gehalt;
    writeln('höchstes Gehalt bezieht:');
    writeln(fp, gehalt);
  END;

begin
  person1.name:= 'Meier';
  person1.vorname:= 'Johan';
  person1.gebdatum:= '11.11.1966';
  person1.gehalt:= '2500';

  person2.name:= Müller;
  person2.gebdatum:= '12.09.1976';
  person2.gehalt:= '2100';

  person3.name:= 'Blöd';
  person3.vorname:= 'Hein';
  person3.gebdatum:= '07.03.1980';
  person3.gehalt:= '2700';

  writeln (person1.vorname, ' ', person1.name, ' ', person1.gebdatum, ' ', person1.gehalt);
  writeln (person2.vorname, ' ', person2.name, ' ', person2.gebdatum, ' ', person2.gehalt);
  writeln (person3.vorname, ' ', person3.name, ' ', person3.gebdatum, ' ', person3.gehalt);

  assign (fp, 'gehaltsliste1.txt'); //Variable mit Dateiname verbinden
  rewrite (fp); //Datei wird immer wieder neu angelegt


  write (fp, person1);
  write (fp, person2);
  write (fp, person3);
  write (fp, inttostr(person.gehalt));
  closefile (fp); //Schließen der Datei
                         

  
  readln;

end.
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: String, Integer-inkompatible Type. Wo liegt mein Fehler?

  Alt 8. Mai 2007, 21:46
schön...
gibts da noch ne frage dazu ?!?
und könntest du bitte den code in tags einschließen?

edit: ...und herzlich willkommen bei Delphi-Praxis
Dominik
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: String, Integer-inkompatible Type. Wo liegt mein Fehler?

  Alt 8. Mai 2007, 21:46
Wie der Fehler ja schon sagst, du vergleichst Äpfel mit Birenen bzw string mit integer:
 If person.gehalt > gehalt THEN
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: String, Integer-inkompatible Type. Wo liegt mein Fehler?

  Alt 8. Mai 2007, 21:47
erstmal herzlich Willkommen.


1. Was hat dieses mit Datenbanken zu tun`? (falsches Unterforum)

2. bitte [delphi]-Tags verwenden

2,5. so lange Codeabschnitte, oder ganze Programme bitte als Anhang.
und nur die "wichtigen" Abschnitte im Post

3. was ist falsch?
ohne Fehlerbeschreibung/Frage können wir auch nur Hellsehen.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#5

Re: String, Integer-inkompatible Type. Wo liegt mein Fehler?

  Alt 8. Mai 2007, 21:47
Hallo,

erstmal 2 Dinge:
Herzlich willkommen in der DP

Nutze bitte die Delphi-Tags (Delphi-Code-Button)

Nun zum Problem, was mir gleich aufgefallen ist, dass gehalt INTEGER ist aber person.gehalt ein String. Um das zu vergleichen musst du StrToInt(person.gehalt) verwenden.
Ob noch mehr Fehler enthalten sind, habe ich jetzt nicht auf anhib gesehen, ist auch zun Teil nicht einfach weil keine Delphi-Tags.

Btw: Mit Datenbank hat dieses Problem nicht viel zu tun.
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
8. Mai 2007, 22:58
Dieses Thema wurde von "Jelly" von "Datenbanken" nach "Object-Pascal / Delphi-Language" verschoben.
Stimmt.... Gehört nicht in Datenbanken
Antwort Antwort


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 18:52 Uhr.
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