AGB  ·  Datenschutz  ·  Impressum  







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

position vom komma

Ein Thema von EWeiss · begonnen am 5. Mär 2007 · letzter Beitrag vom 5. Mär 2007
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

position vom komma

  Alt 5. Mär 2007, 19:47
warum gibt er mir hier einen wert von 0?

X := pos(WStyleList.ValueFromIndex[P], ','); Ich möchte das mir die position vom komma abhängig vom string zurückgegeben wird.
Ist vielleicht ValueFromIndex falsch ?

Eigentlich müßte mir hier der wert 17 übergeben werden!
'WS_ACTIVECAPTION,xxx' Kenn mich mit TStringList nicht so aus.. sorry

gruss
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: position vom komma

  Alt 5. Mär 2007, 19:50
Was ist P. Steht noch mehr in der Stringliste? Was ist al Delimiter eingestellt?
Markus Kinzler
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: position vom komma

  Alt 5. Mär 2007, 19:54
Zitat von mkinzler:
Was ist P. Steht noch mehr in der Stringliste? Was ist al Delimiter eingestellt?
p und x ist ein integer..
delemiter ist das komma

hier die ganze procedure Sorry hätte ic hauch direkt posten können.

Delphi-Quellcode:
procedure FillList;
Var
  P : Integer;
  X : Integer;

begin
    with WStyleList do
    begin
       Add(format('%s = $%8.8x', ['WS_BORDER', WS_BORDER]));
       Add(format('%s = $%8.8x', ['WS_DLGFRAME', WS_DLGFRAME]));
       Add(format('%s = $%8.8x', ['WS_EX_TOOLWINDOW', WS_EX_TOOLWINDOW]));
       Add(format('%s = $%8.8x', ['WS_THICKFRAME', WS_DLGFRAME]));
       Add(format('%s = $%8.8x', ['WS_DLGFRAME', WS_DLGFRAME]));
    end;

    For P := 0 To WStyleList.Count - 1 do
    begin
        X := pos(WStyleList.ValueFromIndex[P], ',');
        WValue.Add(AnsiMidStr(WStyleList.ValueFromIndex[P], X + 1, P));
        WStyleList.ValueFromIndex[P] := AnsiMidStr(WStyleList.ValueFromIndex[P], 1, X - 1);
        messagebox(0, PChar(WStyleList.ValueFromIndex[P]),PChar('test'),MB_OK or MB_ICONERROR );
    end;

end;
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: position vom komma

  Alt 5. Mär 2007, 19:54
Hallo Emil,

zuerst kommt der Suchstring, dann der zu durchsuchende String.

Gruß Hawkeye
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: position vom komma

  Alt 5. Mär 2007, 20:00
Zitat von Hawkeye219:
Hallo Emil,

zuerst kommt der Suchstring, dann der zu durchsuchende String.

Gruß Hawkeye
habs mal umgedreht ist auch null

X := pos(',', WStyleList.ValueFromIndex[P]); bei vb benutze ich InStr vielleicht mit pos nicht kompatible ?

suchende string wäre das komma(delemiter)

gruss
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: position vom komma

  Alt 5. Mär 2007, 20:04
Der Fehler wird eher am .ValueFromIndex leigen, ich glaube du brauchst das:
X := pos(',', WStyleList.Strings[P]);
Markus Kinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: position vom komma

  Alt 5. Mär 2007, 20:10
Zitat von EWeiss:
Add(format('%s = $%8.8x', ['WS_BORDER', WS_BORDER]));
Ich sehe in deinen Listenelementen auch kein Komma...

Gruß Hawkeye
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

Re: position vom komma

  Alt 5. Mär 2007, 20:14
Zitat von mkinzler:
Der Fehler wird eher am .ValueFromIndex leigen, ich glaube du brauchst das:
X := pos(',', WStyleList.Strings[P]);
Arrgghhh ich glaub habe da was falsches verstanden.
Da kann nur null rauskommen.

Add(format('%s = $%8.8x', ['WS_BORDER', WS_BORDER])); gibt mir ja nur den wert von WS_BORDER zurück.

addiert also nicht den ganzen string,

Der eigentlich so aussehen soll.
Add('WS_BORDER' + ',' + format('%s = $%8.8x', ['WS_BORDER', WS_BORDER])); Allerding gibt er mir dann nur den Namen nicht die Value von WS_BORDER zurück.
Muss mal schauen..

EDIT:
Das wäre der richtige wert.
Bin heute was neben der Rolle
messagebox(0, PChar(format('$%8.8x', [WS_BORDER])), PChar('test2'),MB_OK or MB_ICONERROR); danke
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

Re: position vom komma

  Alt 5. Mär 2007, 20:48
Nicht hauen

Jetzt gehts!
Poste das nochmal für andere die auch so ein ähnliches problem haben.



Delphi-Quellcode:
procedure FillList;
Var
  P : Integer;
  X : Integer;

begin
    with WStyleList do
    begin
       Add('WS_BORDER' + ',' + format('$%8.8x', [WS_BORDER]));
       Add('WS_DLGFRAME' + ',' + format('$%8.8x', [WS_DLGFRAME]));
       Add('WS_EX_TOOLWINDOW' + ',' + format('$%8.8x', [WS_EX_TOOLWINDOW]));
       Add('WS_THICKFRAME' + ',' + format('$%8.8x', [WS_THICKFRAME]));
       Add('WS_SIZEBOX' + ',' + format('$%8.8x', [WS_SIZEBOX]));
    end;

    For P := 0 To WStyleList.Count - 1 do
    begin
        X := pos(',',WStyleList.Strings[P]);
        WValue.Add(AnsiMidStr(WStyleList.Strings[P], X + 1, strlen(PChar(WStyleList.Strings[P]))));
        WStyleList.Strings[P] := AnsiMidStr(WStyleList.Strings[P], 1, X - 1);
        messagebox(0, PChar(WValue.Strings[p]),PChar('test'),MB_OK or MB_ICONERROR );
    end;

end;
Mich wundert nur das 'WS_THICKFRAME' und 'WS_SIZEBOX' den gleichen wert besitzen
schon seltsam ...
Das convertieren der Variablen in Delphi nervt ganz schön
Sehe bald vor lauter Klammern den Wald(Source) nicht mehr

gruss
  Mit Zitat antworten Zitat
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 17:41 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