Luciano França
uniGUI Subscriber-
Posts
268 -
Joined
-
Last visited
-
Days Won
4
Luciano França last won the day on January 26
Luciano França had the most liked content!
Profile Information
-
Gender
Male
-
Location
Astorga PR. Brasil
Contact Methods
-
Yahoo
luapfr@yahoo.com.br
Recent Profile Visitors
Luciano França's Achievements
Advanced Member (4/4)
32
Reputation
-
Any position ?
-
Any solution Also need
-
How to Detect Cancel Event Dialog in "UniFileUploadButton"
Luciano França replied to Luciano França's topic in General
Solution -
Detect cancel OpenDialog in "TUniFileUploadButton"
Luciano França replied to Luciano França's topic in General
I made a modification in a situation where accessviolation procedure TMainForm.htmlGetFileAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var aFileName : String; aJSONData : String; aJsonObj: TJSONObject; aFileStream :TFileStream; aMemoryStream : TMemoryStream; afileType : String; aOutputFile : String; function getJsonString(wObj: TJSONObject; aItem: String): String; var aObjItem : TJSONString; begin aObjItem := wObj.Get(aItem).JsonValue as TJSONString; Result := aObjItem.Value; end; function getJsonStream(wObj: TJSONObject; aItem: String): TMemoryStream; var aObjItem : TJSONString; aBytes : TBytes; aString : String; i : Integer; begin aObjItem := wObj.Get(aItem).JsonValue as TJSONString; aString := aObjItem.Value; i := Pos('base64,', aString); if i > 0 then aString := Copy(aString, i+7, Length(aString)); aBytes := TNetEncoding.Base64.DecodeStringToBytes(aString); Result := TMemoryStream.Create; Result.WriteBuffer(aBytes, Length(aBytes)); end; begin UniImage1.Picture.Bitmap := nil; UniMemo1.Clear; if (EventName = 'selected_file') then begin aJSONData := Params.Values['file_info']; aJsonObj := TJSONObject.ParseJSONValue(aJSONData) as TJSONObject; try If (Not Assigned(aJsonObj)) Or (Not Assigned(aJsonObj.Get('filename'))) Or (Trim(aJsonObj.Get('filename').ToJSON) = Emptystr) Then Begin ShowMessage('No file was selected'); Exit; End; aFileName := getJsonString(aJsonObj, 'filename'); if aFileName > '' then begin aOutputFile := UniServerModule.StartPath+'UploadFolder\'+ aFileName; aFileType := getJsonString(aJsonObj, 'filetype'); aMemoryStream := getJsonStream(aJsonObj, 'filedata'); try aMemoryStream.SaveToFile(aOutputFile); finally aMemoryStream.free; end; if Pos('text', aFileType) > 0 then begin with TStringList.Create do try LoadFromFile(aOutputFile); UniMemo1.Text := Text; finally free; end end else if Pos('image', aFileType) > 0 then begin aFileStream := TFileStream.Create(aOutputFile, fmOpenRead); try UniImage1.LoadFromStream(aFileStream); finally aFileStream.Free; end; end else if Pos('pdf', aFileType) > 0 then ShowMessage('File is PDF') else ShowMessage('Filetype is unknown') end else ShowMessage('No file was selected'); finally aJsonObj.Free; end; end; end; Completing the Topic how to open Simulate automatic Click. -
How to simulate Click or Link on "UniHTMLFrame"
Luciano França replied to Luciano França's topic in General
Wow, I was looking for a way to invoke Frame Click and my colleague did it in a much simpler way. Much obliged. -
How to simulate Click or Link on "UniHTMLFrame"
Luciano França replied to Luciano França's topic in General
Attached. FrameClick.7z -
How to simulate Click or Link on "UniHTMLFrame"
Luciano França replied to Luciano França's topic in General
I believe the colleague is wrong and there is no solution for this I did a search just with the term "TUniHTMLFrame" and opened all the topics related to it and didn't find any solution. -
How to simulate Click or Link on "UniHTMLFrame"
Luciano França replied to Luciano França's topic in General
I'm sorry I already did that How to do this search right on the forum I tried by terms "simulate Click UniHTMLFrame" ? "Click UniHTMLFrame" ? "Simulate Click" ? -
I looked for it and couldn't find it on the forum, I think it's a simple thing. based on this topic: http://forums.unigui.com/index.php?/topic/24462-detect-cancel-opendialog-in-tunifileuploadbutton/ and I will use a "UniHTMLFrame" instead of "unifileuploadbutton" How do I need to simulate Click? UniHTMLFrame1.JSInterface.JSCall('fileInputEl.dom.click', []); // Error UniHTMLFrame1.JSInterface.JSCall('dom.click', []); // Error UniHTMLFrame1.JSInterface.JSCall('click', []); // Error UniHTMLFrame1.JSInterface.JSCall(UniHTMLFrame1.jsName + 'dom.click', []); // Error
-
Detect cancel OpenDialog in "TUniFileUploadButton"
Luciano França replied to Luciano França's topic in General
My friend amazing work I and the entire Unigui community are very grateful -
Detect cancel OpenDialog in "TUniFileUploadButton"
Luciano França replied to Luciano França's topic in General
what is wrong in this code See attached. Procedure TMainForm.htmlGetFileAjaxEvent(Sender: TComponent; EventName: String; Params: TUniStrings); Var aFileName, aXMLData: String; aJSONData: String; aJsonObj: TJSONObject; aFileStream: TFileStream; Function getJsonString(wObj: TJSONObject; aItem: String): String; Var aObjItem: TJSONString; Begin aObjItem := wObj.Get(aItem).JsonValue As TJSONString; Result := aObjItem.Value; End; Begin If (EventName = 'selected_file') Then Begin aJSONData := Params.Values['file_info']; aJsonObj := TJSONObject.ParseJSONValue(aJSONData) As TJSONObject; Try aFileName := getJsonString(aJsonObj, 'filename'); If aFileName > '' Then Begin aXMLData := getJsonString(aJsonObj, 'filedata'); aFileStream := TFileStream.Create(aXMLData, fmCreate or fmOpenReadWrite or fmShareDenyWrite); Try aFileStream.Position := 0; UniImage1.Picture.LoadFromStream(aFileStream); Finally aFileStream.Free; End; ShowMessage('Selected file is: ' + aFileName); End Else ShowMessage('No file was selected') Finally aJsonObj.Free; End; End; End; FileDownloadDemo.7z -
Detect cancel OpenDialog in "TUniFileUploadButton"
Luciano França replied to Luciano França's topic in General
I'm here banging my head to make it generic for any type of file saving in "AStream: TFileStream" -
Detect cancel OpenDialog in "TUniFileUploadButton"
Luciano França replied to Luciano França's topic in General
So I liked your solution so much that I'm wanting to ditch "TUniFileUploadButton" and use your approach for everything, including images -
Detect cancel OpenDialog in "TUniFileUploadButton"
Luciano França replied to Luciano França's topic in General
Fantastic I would never know how to do something like that If I also want to adapt to use this idea and save the content in a TFileStream and capture any file, not just XML, how could I do it ? htmlGetFile.Html -> el.accept = "*.*"; procedure TMainForm.htmlGetFileAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var aFileName, aXMLData : String; aJSONData : String; aJsonObj: TJSONObject; AStream: TFileStream; // How to use it function getJsonString(wObj: TJSONObject; aItem: String): String; var aObjItem : TJSONString; begin aObjItem := wObj.Get(aItem).JsonValue as TJSONString; Result := aObjItem.Value; end; begin if (EventName = 'selected_file') then begin aJSONData := Params.Values['file_info']; aJsonObj := TJSONObject.ParseJSONValue(aJSONData) as TJSONObject; aFileName := getJsonString(aJsonObj, 'filename'); UniMemo1.Clear; if aFileName > '' then begin Showmessage(aFileName); aXMLData := getJsonString(aJsonObj, 'filedata'); UniMemo1.Text := aXMLData; ShowMessage('Selected file is: ' + aFileName); end else ShowMessage('No file was selected') end; end; -
Detect cancel OpenDialog in "TUniFileUploadButton"
Luciano França replied to Luciano França's topic in General
If you could share the source code so I can compile it I would greatly appreciate it.