Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 27.04.09 11:03 
Ich meinte das:
user profile iconsevenscrime hat folgendes geschrieben Zum zitierten Posting springen:
aber es klappt immer noch nicht , das Starten des Programmes.
Dass sich das so nicht kompilieren lässt, scheint also durchaus klar zu sein, aber die Fehlermeldung fehlte in dem Post. ;-)
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Mo 27.04.09 12:15 
Achso okay =)
Jap aber wie du sagtest ist das warscheinlich trotzdem jedem aufgefallen das das eine geben wird.
Und erübrigt sich somit.

@Sevenscrime für die Zukunft wenn du sagst dein Programm funktioniert nicht,
solltest du auch den Fehler genauer zu spezifizieren.
Dann werden sich sicher auch mehr User mit deinem Problem beschäftigen.

ausblenden Delphi-Quelltext
1:
2:
stringgrid1.cells[j-1,0]:=inttostr(c); // Warnung: "Variable * ist möglicherweise nicht initialisiert worden!
c:=strtoint(stringgrid1.cells[j,0]); // Hiweis: Auf * zugewiesener Wert wird niemals benutzt

Diese Hinweise/Warnungen solltest du nicht Ignorieren. Falls du damit nicht klarkommst kannst du ja gerne Fragen dazu stellen. Obwohl sie eigentlich ziemlich Aussagekräftig sind.
desweiteren glaube ich war folgendes doch ein Flüchtigkeitsfehler:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
strtoint:=stringgrid1.cells[j-1,0];         
stringgrid1.cells[j-1,0]:=inttostr(c);         
stringgrid1.cells[j-1,0]:=stringgrid1.cells[j,0];         
c:=strtoint(stringgrid1.cells[j,0]);

So hast du es warscheinlich gedacht:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
{Edit:} c := strtoint(stringgrid1.cells[j-1,0]);                 
stringgrid1.cells[j-1,0]:=stringgrid1.cells[j,0];   
stringgrid1.cells[j,0]:=inttostr(c);       
// c:=strtoint(stringgrid1.cells[j,0]); "Versteh ich allerdings immer noch nicht"


Entweder hast du wirklich so wenig Ahnung von Delphi und konntest das nicht lösen oder du bist Faul.
Kannst eig. Froh sein das überhaupt jemand darauf Antwortet und dich nicht einfach nur auf einen
Delphi crashkurs verweist. Aber vil Irre ich mich ja.

mfg nic

mfg nic


Zuletzt bearbeitet von thepaine91 am Mo 27.04.09 13:50, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 27.04.09 12:26 
So funktioniert das allerdings auch noch nicht. ;-)
user profile iconthepaine91 hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
strtoint(c) :=stringgrid1.cells[j-1,0];					

Wie es richtig geht hatte ich doch schon geschrieben:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Zwei Werte austauschen geht prinzipiell so, der erste Wert wird zwischengespeichert in einer Variablen, dann bekommt der den neuen Wert und am Ende der zweite Wert den zwischengespeicherten:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
  temp: String;
begin
  Temp := StringGrid1.Cells[j-10];
  StringGrid1.Cells[j-10] := StringGrid1.Cells[j, 0];
  StringGrid1.cells[j, 0] := Temp;
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Mo 27.04.09 13:25 
Sorry hab ich übersehen, hab es mal auf seinen Quelltext bezogen um zu besser zu zeigen was falsch war.
Eigentlich ist es genau das selbe und es funktioniert.
Wie oben gesagt dadurch das ich versucht habe seine Fehler am quelltext deutlich zu machen habe ich
die Umwandlung [strtoint] und [inttostr] gemacht.
Andererseits lasse ich die bezeichnung falsch indirekt gelten. :-P
Denn so wird 2x eine typenumwandlung gemacht die nicht gebraucht wird.

Aber deshalb auch ( Zitat: " So hast du warscheinlich gedacht " :-) )

Hab mich ja auch in meinem letzten Post in den letzten 3 Zeilen dazu geäußert
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 27.04.09 13:32 
Was ich meine ist, dass deine Zeile auch nicht kompiliert werden kann... ;-)
Ob mit oder ohne Parameter, einer Funktion (strtoint) kann man nix zuweisen.
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Mo 27.04.09 13:49 
Vor lauter Bäumen den Wald nicht gesehen =)
Natürlich geht das nicht :autsch:
berichtige es gleich mal.
sevenscrime Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 27.04.09 19:38 
Erstmal danke , für die vielen Antworten die haben mir wirklich geholfen.
Zitat:
c:=stringgrid1.cells[j-1];
stringgrid1.cells[j-1]:=stringgrid1.cells[j];
stringgrid1.Cells[j]:=c;


das war wirklich nur ein blöder Fehler , ist irgendwie klar ,dass das nicht klappen kann ;)

Dennoch bleibt eine Frage offen : Wie kann ich denn die Werte zweier Zellen vergleichen?

PS:Den Fehler , den Delphi angezeigt haben soll , hat es nur am Anfang angezeigt ( normalerweise ignoriere ich Hinweise und Warnungen , weil es keine Fehler sind , dumm ich weiß :P ), später , als das Programm nicth gestartet hat nicht mehr.


MFG
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mo 27.04.09 20:30 
Vergleichen: Dafür gibt es <, >, <>, <=, >=. Zum Beispiel:

ausblenden Delphi-Quelltext
1:
2:
if a < b then
  ShowMessage('a ist kleiner als b.');


Bezogen auf dein StringGrid musst du die Zellinhalte, welche ja als Zeichenketten (string => str) vorliegen, erst in (to) Zahlen (integer => int) oder float für Kommazahlen umwandeln. Du kannst also entweder schreiben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var
  a, b: Extended;
begin
  a := StrToFloat(StringGrid1.Cells[0,0]);
  b := StrToFloat(StringGrid1.Cells[1,0]);
  if a < b then
    ShowMessage('a kleiner als b.');
  // das gleiche:
  if StrToFloat(StringGrid1.Cells[0,0]) < StrToFloat(StringGrid1.Cells[1,0]) then
    ShowMessage('a kleiner als b.'); 
end;