Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 2 PChar´s vergleichen (https://www.delphipraxis.net/55112-2-pchar%B4s-vergleichen.html)

ripper8472 16. Okt 2005 23:40

Re: 2 PChar´s vergleichen
 
mit a>b werden nur zeiger verglichen, also identitaet.

mit a^>b^ werden theoretisch nur die ersten buchstaben der strings verglichen, weil ein pchar auf einen char, also ein einziges zeichen zeigt. demnach sollte die dereferenzierung auch nur ein zeichen ergeben.

LoRd-MuldeR 16. Okt 2005 23:57

Re: 2 PChar´s vergleichen
 
Welchen Grund gibt es, in dem Beispiel aus dem ersten Post, überhaupt mit Pointern zu arbeiten? Mit Strings wäre das ganze doch einfach und sicher zu lösen.

sniper_w 16. Okt 2005 23:58

Re: 2 PChar´s vergleichen
 
Zitat:

(pchars sind ja zeiger auf speicher, wo die eigentlichen zeichenketten liegen).
Das ist mir klar, das war auch nicht die Frage ;).
Zitat:

in c wuerde man strcmp() auf die beiden zeiger anwenden.
Eher nicht, denn ich will char * vergleichen und nicht char. In c würde man 2 char * so vergleichen wie eben in Delphi.


EDIT:
Zitat:

Welchen Grund gibt es, in dem Beispiel aus dem ersten Post, überhaupt mit Pointern zu arbeiten? Mit Strings wäre das ganze doch einfach und sicher zu lösen.
Und ich Frage mich was ist das Zweck des Lebens.... :roll:

ripper8472 17. Okt 2005 00:04

Re: 2 PChar´s vergleichen
 
Zitat:

Zitat von sniper_w
Zitat:

in c wuerde man strcmp() auf die beiden zeiger anwenden.
Eher nicht, denn ich will char * vergleichen und nicht char. In c würde man 2 char * so vergleichen wie eben in Delphi.

genau umgedreht.

ich kann c, vertraue mir da mal.

strcmp() fuer strings, normales == fuer zeichen.

LoRd-MuldeR 17. Okt 2005 00:04

Re: 2 PChar´s vergleichen
 
Zitat:

Zitat von sniper_w
Zitat:

Welchen Grund gibt es, in dem Beispiel aus dem ersten Post, überhaupt mit Pointern zu arbeiten? Mit Strings wäre das ganze doch einfach und sicher zu lösen.
Und ich Frage mich was ist das Zweck des Lebens.... :roll:

Du darfst vom Leben keinen Zweck erwarten, es ist deine Aufgabe dem Leben einen Sinn zu geben :-D

@Topic:
Die Frage anders Formuliert, was genau soll das Programm da oben erreichen?

sniper_w 17. Okt 2005 00:44

Re: 2 PChar´s vergleichen
 
@LoRd-MuldeR und @ripper8472:
Code:
#include <stdio.h>

int main()
{
   char str[] = "AZsa";
   char *a,*b;

   a = str;
   b = str + 1;

   printf("%c %c  %d  %d\n", *a, *b, a, b);

   if (a<b)
   {
      printf("a < b\n");
   }
   else if (b<a)
   {
      printf("b < a\n");
   }
   else
   {
      printf("a = b\n");
   }
}
Das war mein Code in C, wollte es in Delphi umsetzten. ;)
Ich hatte also doch recht, in C werden char* genauso wie in Delphi verglichen.

ripper8472 17. Okt 2005 01:02

Re: 2 PChar´s vergleichen
 
damit vergleichst du in in beiden sprachen nur die pointer, nicht den inhalt.

sniper_w 17. Okt 2005 01:03

Re: 2 PChar´s vergleichen
 
Oh MENSCH !!! Das weiss ich ! Ich habe gesagt am Anfang "2 PChar´s vergleichen" und nicht 2 Char´s vergleichen !!!
Wer lesen kann, ist im Vorteil ;) .

SirThornberry 17. Okt 2005 06:00

Re: 2 PChar´s vergleichen
 
Da anhand des Betreffs und Inhalt des Thread es vermuten lässt das man die Strings die sich hinter den PChars verstecken vergleichen will post ich mal eine weitere Lösung um dies zu tun - so sollte es auch gehen (ungetestet)
Delphi-Quellcode:
if String(a) < string(b) then


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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