AGB  ·  Datenschutz  ·  Impressum  







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

Typ File mit Typ String addieren

Ein Thema von SyntaxXx · begonnen am 15. Nov 2009 · letzter Beitrag vom 23. Jan 2010
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

Typ File mit Typ String addieren

  Alt 15. Nov 2009, 13:31
Hi Leute,

wiedereinmal benötige ich eure Hilfe.
Diesesmal aber ein wenig komplexer.

Ich habe jetzt eine .exe Datei in mein Programm geladen und zwar wie folgt:

Delphi-Quellcode:
  opendialog1.Execute;
  AssignFile( x,(OpenDialog1.Filename));
Jetzt möchte ich an das ende dieser datei einen String anfügen.
Ja ich weiß, das ganz hat keinen Sinn, weil der String nichts bewirkt.

Der einzige Grund,w arum ich das machen will ist folgender:

Ich möchte die Datei ein wenig vergrößern, damit ich sie auf Rapidshare laden kann, um dann ein wenig Punkte noch zusätzlich fürs herrunter laden bekomme^^.

Man könnte zwar auch einfach ne andere Datei mit der eigenlichen in ein .rar Archiv packen,a ber ich möchte es dennoch mal auf meine Weise machen.


Es wäre wirklich klasse, wenn ihr mir sagen könntet wie ich das mache.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Typ File mit Typ String addieren

  Alt 15. Nov 2009, 13:43
Willst du objektorientiert programmieren oder alles global halten und nur mit proceduren und funktionen arbeiten?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

Re: Typ File mit Typ String addieren

  Alt 15. Nov 2009, 13:49
Nur Proceduren und funktionen.

Also der String, den ich einfügen will ist Konstant.

Also ohne Memo etc.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Typ File mit Typ String addieren

  Alt 15. Nov 2009, 13:58
Mir ging es mehr darum es mehr mehr Sinn macht dir die objektorientierte Variante zu zeigen oder die welche nicht viel mit objektorientiertem zu tun hat.
Denn aktuell bin ich verwirrt - du verwendest TOpenDialog (also eine Klasse) und vermutlich auch Forms (TForm auch eine Klasse) suchst aber danach wie man ohne Objekte in Dateien schreibt (also keine Konsequenz - mal objektorientiert mal nicht)

Hast du schon die Suche nach AssignFile bemüht oder die Hilfe?
Ich habe eben mal nach AssignFile in der Delphipraxis gesucht und dabei gleich Beispiele gefunden wie man es verwendet.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#5

Re: Typ File mit Typ String addieren

  Alt 15. Nov 2009, 14:07
Achso^^

So sieht es wie folgt aus:

Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var x: File;
begin

  opendialog1.Execute;
  AssignFile( x,(OpenDialog1.Filename));
end;
Wie du siehst, ich benutze schon eine VCL Anwendung.


Jetzt habe ich mir das so gedacht:
Über den OpenDialog lade ich die .exe auf die Variable x.

Und nun möchte ich an das Ende einen String y hinzu fügen.

Aber der String ist feste vorgegeben.

Ums ganz krass zu sagen.

Ich hab die .Exe und an das ende möchte ich einen 3 MB String anhänge.
Das problem was ich habe ist folgendes:

x ist vom Typ File
und Der String ja ganz klar vom Typ String.

Und dann bekomm ich antürlich folgenden fehler:

[DCC Fehler] Unit1.pas(61): E2015 Operator ist auf diesen Operandentyp nicht anwendbar


So ist der Code:

x := x+y //x = Typ File y = Typ String
Hoffe das hat was klarheit gebracht
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Typ File mit Typ String addieren

  Alt 15. Nov 2009, 14:16
Ich würde die Objektorientierte Variante vorziehen wenn du bereits damit angefangen hast:
Delphi-Quellcode:
var
  lStream: TFileStream;
begin
  if OpenDialog1.execute then
  begin
    lStream := TFileStream.Create(OpenDialog1.Filename, fmOpenReadWrite);
    try
      lStream.Size := lStream.Size + 1024*1024*3;
    finally
      lStream.Free;
    end;
  end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#7

Re: Typ File mit Typ String addieren

  Alt 23. Jan 2010, 15:46
Ok hab es jetzt so.

Jetzt sieht das alles so aus:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute = true then
  begin
    lStream := tFileStream.Create(OpenDialog1.FileName, fmOpenRead);
    Edit1.Text := OpenDialog1.FileName;
      try
        SetLength(Buffer , lStream.Size);
        lStream.Read(Buffer[1], lStream.Size);
      finally

      end;

  end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 lStream.Size := lStream.Size + 1024*1024*3;
 Edit3.Text := IntToStr(lstream.Size);

Jetzt habe ich aber noch 2 Sachen.

1. Wofür genau bzw was genau bewirkt

Delphi-Quellcode:
        SetLength(Buffer , lStream.Size);
        lStream.Read(Buffer[1], lStream.Size);
2. Wenn ich das so jetzt starte und mir die Größe ausgeben will bekomme ich nen fehler das der Zugriff verweigert wurde.

Wenn ich aber nur

 Edit3.Text := IntToStr(lstream.Size); [/delphi]

Habe also ohne noch ws zu multiplizieren, dann kann ich mir die Größe ausgeben lassen.
  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 23:18 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