Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Einzelnes Feld von TIdMultiPartFormDataStream ändern/entf? (https://www.delphipraxis.net/70766-einzelnes-feld-von-tidmultipartformdatastream-aendern-entf.html)

Angel4585 4. Jun 2006 13:57


Einzelnes Feld von TIdMultiPartFormDataStream ändern/entf?
 
Hallo zusammen,

ich versende mit der TIdHTTP Kompo POST-Daten an nen php-Skript, das sieht ungefähr so aus:

Delphi-Quellcode:
procedure DoGetAllyCom(AType : Boolean;ASB : TScrollBox);
var
 lData : TIdMultiPartFormDataStream;
 sl : TStringList;
 lNick,lDate : string;
begin
lData := TIdMultiPartFormDataStream.Create;//Struktur erzeugen
try
  try
    with lData do
      begin
      AddFormField(cAlly,IntTostr(Player.AllyID));//Feld hinzufügen
      AddFormField(cUserID,IntToStr(Player.ID));//Feld hinzufügen
      if AType then
        AddFormField(cTyp,'1');//Feld hinzufügen
      end;
    with ConHTTP do
      try
      sl:=TStringList.Create;
      sl.Text := Post(Data.FURL+Data.FGetShoutSkript,lData);
      if AType then
        begin
        FreeAndNil(ldata);
        lData := TIdMultiPartFormDataStream.Create;//Struktur neu erzeugen
        lData.AddFormField(cAlly,IntTostr(Player.AllyID));//Feld hinzufügen
        lData.AddFormField(cNick,Player.Nick);//Feld hinzufügen
        end;
      while sl.Count > 0 do
        begin
        lDate:=sl.Strings[0];
        lNick:=sl.Strings[1];
        sl.Delete(1);
        sl.Delete(0);
        SetLength(AllyComFrames,Length(AllyComFrames)+1);
        AllyComFrames[Pred(Length(AllyComFrames))]:=TAllyComFrame.Create(ASB,lNick,lDate,sl.Text);
       AllyComFrames[Pred(Length(AllyComFrames))].Name:='AllyComFrame'+IntToStr(Pred(Length(AllyComFrames)));
        Data.FDM.SkinData1.AddNestForm(tfmain,AllyComFrames[Pred(Length(AllyComFrames))]);
        Application.ProcessMessages;
        sl.Text := Post(Data.FURL+Data.FGetShoutSkript,lData);
        Application.ProcessMessages;
        end;
      finally
        Free;
        sl.Free;
        end;
  except
    on e: exception do
      showmessage(e.Message);
    end;
finally
  lData.Free;
  lData:=nil;
  end;
end;
jetzt finde ich es ein bisschen umständlich diese Struktur, auch wenns nur ne kleine ist, neu zu erzeugen, obwohl ich eigentlich nur ein Feld entfernen muss.

Weis jemand von euch wie ich ein einzelnes dieser Felder ansprechen, d.h. bearbeiten oder entfernen kann?

MfG :angel:


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