AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Strin an ShortString zuweisen, wie?

Hinweise


Strin an ShortString zuweisen, wie?

Ein Thema von DualCoreCpu · begonnen am 6. Nov 2019 · letzter Beitrag vom 7. Nov 2019
Antwort Antwort
Seite 2 von 2     12
bcvs
Online

Registriert seit: 16. Jun 2011
491 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: Strin an ShortString zuweisen, wie?

  Alt 7. Nov 2019, 08:45
Und wieso jetzt noch der Shortstring?

Ich würde so etwas machen:
Delphi-Quellcode:
type
  TRegisteredCommand = class(TObject)
  private
    FMenuName: String;
  public
    property MenuName: string read FMenuName write FMenuName;
  end;

FCmd := TRegisteredCommand.Create;
FCmd.MenuName := FIniFile.ReadString('Command','Menuname','');
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
7.903 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Strin an ShortString zuweisen, wie?

  Alt 7. Nov 2019, 08:45
Das ist alles doch viel zu kompliziert. Eine Zuweisung von string zu ShortString oder z.B. string[31] und umgekehrt funktioniert aus dem Stand:
Delphi-Quellcode:
program Project598;

{$APPTYPE CONSOLE}

var
  nMenu: string;
  sMenu: string[31];
begin
  nMenu := 'Hello World';
  sMenu := nMenu;
  Assert(nMenu = sMenu);
  sMenu := 'Hello World';
  Assert(nMenu = sMenu);
  nMenu := sMenu;
  Assert(nMenu = sMenu);
end.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
cpux86

Registriert seit: 24. Jun 2008
7 Beiträge
 
#13

AW: Strin an ShortString zuweisen, wie?

  Alt 7. Nov 2019, 09:18
Das ist alles doch viel zu kompliziert. Eine Zuweisung von string zu ShortString oder z.B. string[31] und umgekehrt funktioniert aus dem Stand:
Delphi-Quellcode:
program Project598;

{$APPTYPE CONSOLE}

var
  nMenu: string;
  sMenu: string[31];
begin
  nMenu := 'Hello World';
  sMenu := nMenu;
  Assert(nMenu = sMenu);
  sMenu := 'Hello World';
  Assert(nMenu = sMenu);
  nMenu := sMenu;
  Assert(nMenu = sMenu);
end.
Schön wäre das ja, aber da scheint es dann Probleme zu geben, wenn ich an eine Klasseneigenschaft zuweise. FCmd.Menuname ist nach wie vor leer. Wo könnte ich da noch suchen? Steh auf dem Schlauch. Werde aber den obigen Code testen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
7.903 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Strin an ShortString zuweisen, wie?

  Alt 7. Nov 2019, 09:28
FCmd.Menuname ist nach wie vor leer. Wo könnte ich da noch suchen?
Ich hab jetzt nicht so genau geschaut, aber eventuell überträgst du die Stringlängen nicht (korrekt)?

Wie gesagt, wenn du statt array[0..31] of AnsiChar einfach string[31] schreiben würdest, dann klappt das auch mit der simplen Zuweisung. Falls nicht, dann zeig doch mal ein minimales Beispiel.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
cpux86

Registriert seit: 24. Jun 2008
7 Beiträge
 
#15

AW: Strin an ShortString zuweisen, wie?

  Alt 7. Nov 2019, 10:27
Ok, da will ich mal ein Beispiel hoch laden:
Angehängte Dateien
Dateityp: zip Stringtest.zip (53,7 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
7.903 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Strin an ShortString zuweisen, wie?

  Alt 7. Nov 2019, 10:57
Ich habe das mal so geändert, wie ich es vorgeschlagen hatte.
Angehängte Dateien
Dateityp: zip Stringtest.zip (53,1 KB, 6x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
cpux86

Registriert seit: 24. Jun 2008
7 Beiträge
 
#17

AW: Strin an ShortString zuweisen, wie?

  Alt 7. Nov 2019, 11:51
Super, Danke wie verrückt. Jetzt muss ich das in meiner Anwendung noch so umstellen.
  Mit Zitat antworten Zitat
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 08:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf