привет всем как можно узнать список всех открытых файлов в нужной директории или диске и какой программой этот файл открыт
Прошу не пинать. Помню что где-то на форуме то уже видел, но не помню где, поиск не помог. Как из Delphi от править мыло на определенный адрес? Как вместе с этим сообщением отправить определенный файл?
Когда то давно кодил такое дело: Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdAntiFreezeBase, IdAntiFreeze, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdBaseComponent, IdMessage; type TForm1 = class(TForm) IdMessage: TIdMessage; SMTP: TIdSMTP; IdAntiFreeze1: TIdAntiFreeze; Button1: TButton; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function SendMail(Smtp:tidsmtp;IdMessage:tIdMessage;Username,Password,Host:string;Port:integer;fromAddress,fromName,recipientsMailAdress,AttachPath,Subject,Text:string):boolean; var attach:TidAttachment; begin result:=false; SMTP.AuthenticationType:= atLogin; SMTP.Username:=Username; SMTP.Password:=Password; SMTP.Host:=Host; SMTP.Port:=Port; IdMessage.Body.Add(Text); IdMessage.Subject:=Subject; IdMessage.From.Address:=fromAddress; IdMessage.From.Name:=fromName; IdMessage.Recipients.EMailAddresses:=recipientsMailAdress; IdMessage.IsEncoded:=true; attach:=TIdAttachment.Create(idMessage.MessageParts,AttachPath); try SMTP.Connect; if SMTP.Connected then begin SMTP.Send(IdMessage); result:=true; end else result:=false; finally SMTP.Disconnect; end; attach.Free; end; procedure TForm1.Button1Click(Sender: TObject); begin opendialog1.InitialDir :=getcurrentdir; opendialog1.Title := 'Укажите файл который вы хотите отправить'; if opendialog1.Execute = false then exit; if SendMail(Smtp,idMessage,'egorka100','5555','smtp.mail.ru',25,'[email protected]','Egor','[email protected]',opendialog1.FileName,'Hello','Hello world!')= true then showmessage('Your letter has been successfully sent') else showmessage('Your letter has not been successfully sent'); end; end. Исходный файл проекта
Понравилась поставленная задача, написал прогу, исходники и описание тут. ЗЫ: Пока не показывает какая программа работает с файлом. тут можно скачать используемые мной компоненты (indy) Выбираеш "Component" -> "Install package" -> "Add", указываеш путь до (Indy*0.dpk), где * твоя версия делфи, если больше 7, то ставь 7, дальше я думаю разберешся.
procedure TForm1.FormCreate(Sender: TObject); var strCaption:string; intI:integer; begin strCaption:=BitBtn1.Caption; BitBtn1.Caption:=''; for intI:=length(strCaption) downto 1 do BitBtn1.Caption := strCaption[intI] +char(13)+char(10)+ BitBtn1.Caption end; Результат работы: Можно еще через Canvas, но там труднее.
можно функцией попроще пользоваться: Code: function Vertical(const S:String):String; var i:LongWord; begin if length(S) < 2 then Result := S; Result := S[1]; for i := 2 to Length(S) do Result := Result+#13#10+S[i]; end; пользоваться так: Code: BitBtn1.Caption:=Vertical('мой текст или переменная');
Code: Some additions Actually TShockwaveFlash and some its methods do not always work correctly. For example, the movie does not stretch automatically resizing of a parent window; property Menu does not make disabled the popup menu completely; property PopupMenu does not show the custom menu. Some tips how to expand the TShockwaveFlash possibilities are below. Fixed visual bugs with resizing Code: TShockwaveFlash = class (TOleControl) ... public Procedure CreateWnd; override; ... Procedure TShockwaveFlash.CreateWnd; begin inherited; end; // in main unit Procedure TMain.OnResize (sender: TObject); begin ShockwaveFlash.CreateWnd; end; отсюда Поправил исходники (скаченные с того же сайта) как сказано там, по - моему оно работает. Но работает со стандартным подходом - присваиваем width,height формы, создается как надо. Потом вызываем процедуру Flash.CreateWnd; Code: uses ShockwaveFlashlols_TLB... var Form1: TForm1; Flash : TShockwaveFlash; procedure TForm1.Button5Click(Sender: Tlol); begin Flash := TShockwaveFlash.Create(self); Flash.Parent := self; [B]Flash.Width :=form1.Width; Flash.Height :=form1.Height; Flash.CreateWnd;[/B] Flash.Movie:='C:\prank.swf'; Flash.Play; end; procedure TForm1.FormResize(Sender: TObject); begin [B]Flash.Width :=form1.Width; Flash.Height :=form1.Height; Flash.CreateWnd;[/B] end; Можно через SendMessage попробовать послать событие нажатия левой кнопки мыши на Flash.
А как можно, чтобы при нажатии на кнопку из реестера удалялась определенная папка?? И еще вопросик: как можно запихать звук в программу и потом можно было-бы проиграть этот звук при нажатии на кнопку ( ну чтобы музыка была в файле эт я могу, а что надо вписать в код программы, чтобы звук проигрался.... Заранее большое спасибо
PHP: uses Registry procedure TForm1.Button2Click(Sender: TObject); var Reg: TRegistry; begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_LOCAL_MACHINE; Reg.DeleteKey('software\test'); end;