Ich hab ein kleines Problem... ich habe ein Programm, dass eine text datei (.iim format) erstellt. damit die datei erstell werden kann muss man erst das outputverzeichnis anlegen.. soweit sogut.. hat alles prima geklappt bis jetzt.. ich will das programm aber später kostenlos zum download zur verfügung stellen und dann soll das outputverzeichnis automatisch in einem ordner gespeichert werden (C:\User\Username\Documents\iMacros\Macros) da ich ja nicht den Usernamen von jedem der sich das runterlädt weiß, lass ich den einfach durch eine funktion herausfinde, das klappt auch immernoch..
ich poste hier jetzt erstmal den code
Code:
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, IniFiles, Windows;
type
{ TForm2 }
TForm2 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2;
output, iniout: string;
ini : TIniFile;
Result : string;
implementation
{ TForm2 }
function GetCurrentUserName: string;
const
cnMaxUserNameLen = 254;
var
sUserName: string;
dwUserNameLen: DWORD;
begin
dwUserNameLen := cnMaxUserNameLen - 1;
SetLength(sUserName, cnMaxUserNameLen);
GetUserName(PChar(sUserName), dwUserNameLen);
SetLength(sUserName, dwUserNameLen);
Result := sUserName;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Result := (GetCurrentUserName);
output := edit1.Text;
form2.visible := false;
ini := TIniFile.Create ('C:\Users\'+Result+'\Documents\iMacros\Macros\DS.ini');
try
ini.WriteString ('Einstellung', 'output', output);
finally
ini.Free;
end;
end;
so wenn ich das ganze ohne das Result mache, also einfach den Usernamen, also in meinem fall markus dahinschreib dann speichert der das da auch ganz normal, aber so versucht der das bei mir jetzt nur unter C:\Users\Markus zu speichern, lässt also den ganzen rest einfach weg...
so kann mir dabei irgendjemand helfen?
ps: wenn das hier falsch ist wäre ich sehr dankbar wenn es an die richtige stelle verschoben wird
danke schonmal im vorraus