form-generator 扩展一种表格布局,结合ruoyi的表单生成器,效果与form-create的表格布局功能完全一致
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
Python内容推荐
使用form-create动态生成vue自定义组件和嵌套表单组件
主要介绍了使用form-create动态生成vue自定义组件和嵌套表单组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
vue+element创建动态的form表单及动态生成表格的行和列
动态创建form表单,网上有插件 (form-create) 不过我不知道它怎么用,没有使用成功,如果你使用成功了,欢迎下方留言. 最后我使用了笨方法,针对各个表单写好通用的组件,然后根据type用v-if来渲染对应的表单,数据,事件什么的都可以动态的传进去,比较好用 <el size=mini class=lj-form> <div v-for=(item,i) key=i> <!-- 0单行文本 --> <el-form-item
组件使用文档.docx
vue使用自定义表单生成器
excavator:终极表格生成器,可轻松生成申请表格、调查等。 (不再维护!)
挖掘机 ULTIMATE FORM GENERATOR使用 MEAN 框架。 命令行界面 # run locally ./excavator [admin|manager] [create|delete|list|reset-password] ... # run in a running backend container docker exec -it excavator_backend_1 ./excavator [admin|manager] ... 测试 # install and start mongod, then # run these commands to start testing: npm install npm test # manually do tests alias mocha='./node_modules/mocha/bin/mocha' moch
Laravel开发-crud-generator
Laravel开发-crud-generator Laravel 5积垢发生器
vue-ele-form-generator可视化表单设计工具-其他
vue-ele-form-generator是专为vue-ele-form开发的可视化表单设计工具,并且支持vscode 插件、cli 本地启动、在线设计多种方式,让表单开发的效率更上一层楼! vue-ele-form-generator特性: 1、提供vscode 插件更贴近日常开发 2、可视化配置页面 3、提供 vue-ele-form 全部基础组件 和 全部扩展组件 4、支持组件属性点选配置 5、支持本地启动, 告别被墙的痛苦 6、服务器保存, 应用到项目 7、基于项目的多表单管理, 省去二次开发 8、数据持久化(刷新依然存在) 9、一键生成配置 json 数据 10、一键生成.vue 格式内容 注意: 此设计器不是独立存在的,是依托于 vue-ele-form,在使用前请务必阅读 vue-ele-form 的文档。
大学计划使用教程 4PPT学习教案.pptx
大学计划使用教程 4PPT学习教案.pptx
RoRTutorialBook:Ruby on Rails 6教程书示例和应用
指南书 Ruby on Rails 6教程书示例和应用
VB编程资源大全(英文源码 表单)
1 , manc-skinex.zip<br>This is an example of how to add skins to your program.<END><br>2 , irregularForms.zip<br>This is a great example. It takes two images to shape the form, then blits the "face" onto the form also.<END><br>3 , noclose.zip<br>This demonstrates how to remove the "X" located on the top of your form, while keeping the maximize and minimize buttons visible.<END><br>4 , dos-menu.zip<br>This example shows how to change your applications menu apperance as in color and font.<END><br>5 , dos-iface.zip<br>This is an example of how to use skins in your program, and also using BitBlt for a great looking interface.<END><br>6 , sg_settings.zip<br>This demonstrates how to save information about your program in the registry of windows. Much more reliable than using INIs<END><br>7 , Menubmp.zip<br>This demonstrates how to add images to a menu.<END><br>8 , 3DBorders.zip<br>This bas lets you create 3D Borders on your form.<END><br>9 , manc-resize.zip<br>This is an example project I did to go with the Resize module below.<END><br>10 , resize.zip<br>When resizing your form, this bas will let you also resize the controls<END><br>11 , invisbas.zip<br>This is a bas that will make your form transparent but leave all of the controls visible.<END><br>12 , FormScroller.zip<br>This bas will let your form exit in diferant directions.<END><br>13 , appbar14.zip<br>This example demonstrates how to have your Application "merge" with windows like the taskbar does.<END><br>14 , winhole.zip<br>This example demonstrates how to put a hole in the center of a form.<END><br>15 , tileform.zip<br>This will tile a picture on the background of your form.<END><br>16 , radiomnu.zip<br>This demonstrates how to add radio buttons to your menus<END><br>17 , mnupics.zip<br>This will add pictures to a menu. This is an excellent example.<END><br>18 , savepos.zip<br>This will show you how to save and load the last recorded position of your form.<END><br>19 , shapeform.zip<br>This will change the shape of a sample form to pre-selected shapes.<END><br>20 , splash.zip<br>This demonstrates how to create a splash form for your program.<END><br>21 , menustat.zip<br>This shows how to display information about the menu item in a label.<END><br>22 , coolbar.zip<br>This is an example of how to make a toolbar like Office 97 in your VB Applications.<END><br>23 , showdrag.zip<br>This example shows how to show the windows contents while the window is being dragged.<END><br>24 , avb-gradient.zip<br>This bas is composed of 35 Differant Gradient Color Fades. It is meant to inhance Interface Design without spending a lot of time on solely the interface.<END><br>25 , avb-addressof.zip<br>An Example of Using the 'AddressOf' Operater in VB5 to Limit the Size that the User is Permitted to Resize your Form.<END><br>26 , windis.zip<br>This is a straight forward example of how to disable any Win95/98 window..<END><br>27 , tk421-api.zip<br>Demonstrates how to retrieve various information about specific windows<END><br>28 , InetPass.zip<br>This example demonstrates how to get windows' cached passwords.<br>"This example will show all of the cached passwords on a local system !"<END><br>29 , Toolbar1.zip<br>Label ToolBar. Quick set up, color option, curor change, good for beginners, small projects <END><br>30 , OpacityForm.zip<br>Opacity Form Effect<END><br>31 , MoveForm.zip<br>Moves a form around the screen just by dragging it.<END><br>32 , RoolingForm.zip<br>Creates a "rolling" form using SetWindowRgn API call.<END><br>33 , CoolEffectForm.zip<br>Cool effects form is a true resizable form. It also includes clickable labels that change color with the mouseover event. Fully commented too!<END><br>34 , menus.zip<br>If you wanna make a Menu that suports permissions by user and module with "No Access", "Read Only" and "Full Control" rights, you Found it!! Sory, but the examples are in Portuguese<END><br>35 , MDForm.zip<br>Demonstrates the creation of Master/Detail form using an RDO connection, also helps understand the object oriented programming concepts in VB<END><br>36 , DockDemo.zip<br>A form that docks to the edges of the desktop (and actually works), and takes the taskbar into consideration.<END><br>37 , transparentform.zip<br>Transparent Form with bitmap mask 1 line code for call this DLL<END><br>38 , region.zip<br>This application shows how to "skin a form" to the shape of any bitmap image. The code uses the CreateRectRgn API call to ignore transparent colors and create a form in the shape of the image. This sample uses an image of Homer Simpson<END><br>39 , DynaMenu.zip<br>Program shows how to dynamically create submenu items for both the menu and the popup at run time, and at the same time allowing for free switching between the normal and the columnized menus (and popups), and between menu (and popup) with added bitmaps and without. If the menu (and popup) length goes beyond the predetermined length, the code will automatically sectionalize the menu (and popup) according to the said predetermined length (i.e. as an interval value), and will provide Up and/or Dn graphics to enable navigation between the menu sections.<END><br>40 , CoolExplorer2.zip<br>The new and improved Cool Explorer: Many new functions.<END><br>41,JinieScreensaver.zip<br>A small VB program which is a screensaver using Microsoft Agent. Using the way in which this program works, you can also create a screensaver to run under any version of Windows.<END><br>42,wireframe.zip<br>A computer engineering student from Slovenia has put this together. Its a VB program with all source code and sample for creating a bspline / beziere curve / wireframe generator. Very good and fast code.<END><br>43,reaction.zip<br>A computer engineering student from Slovenia has put this together. Its a reaction-diffusion texture and if you understand all this graphical/mathematical stuff then its very good.<END><br>44,filedirector.zip<br>This is an application I wrote to work in conjunction with the "Windows Explorer / Send To" option. This app helps me to move files quicker that using the copy/paste feature. This project contains some API code from User32 for file moving and API code for registry work.<END><br>45,centerform.zip<br>This is a VB project that shows how to make the form centered on the screen. It also makes the form scroll of the screen and end. I have included A text file with the code for people who cant load vb6 projects and I have also included and .exe of the proj<END><br>46,starfield.zip<br>Two little projects included here. One does a starfield type scrolling - very good, and the second includes two small controls. The first is a hyperlink which will launch the default browser with a URL when click on (it looks just like a hyperlink<END><br>47,filesearch.zip<br> The find option off the Start menu in Windows allows you to amongst other things, find files on your computer that match particular patterns, or were created on/after a certain date. This project mimics this Windows function and searches directories look<END><br>48,gradientfill.zip<br>This little sample contains a routine that allows a picture box to be flood filled with a gradient and from a specified colour value. A box can be filled from left to right or from top to bottom. A very simple bit of code, but useful - if not used to exc<END><br>49,cmovemousecursor.zip<br>This little demo shows how you can move the mouse pointer to a different place on the screen, e.g. command button or other control. It uses a Windows API call but is really simple to understand. Enjoy!<END><br>50,ctray.zip<br>Another cracker by Jonathon. He described it as "to help anyone trying to progress to the next level of VB programming". The sample application includes how to use the Windows API for doing file operations, putting an application into the system tray<END><br>51,cwindowontop.zip<br>This little routine will, if included on the Form_Load event of a form, keep the form/window on top of all other on the desktop. It uses an API call, but the example has been put tidily into a subroutine. It would be essential bit of code for those appl<END><br>52,NewForm.zip<br>If you're bored with standard forms, u can try this one.<END><br>53,KrustyTime.zip<br>Krusty the Clown tells time, and months, and weeks, and days etc. A simple program that you can use for your desktop.<END><br>54,msgblast.zip<br>MsgBlaster.bas is standard VB6 module, which implements a generic framework for window subclassing. The main advantage of using MsgBlaster.bas (as opposed to third-party subclassing controls) is that it does not impose any additional runtime requirements. <END><br>55,spider.zip<br>See a spider is crawling on your form,enjoy it ! <END><br>56,Dither2.zip<br>This application shows how to create a form with a fade out background. <END><br>57,LockOut.zip<br>This shows how to use the form keypress to record keystrokes. This program won't let you exit until you type "zx" in a row at any point. It must be in a sequence. There are many possible upgrades so you cannot Alt+Tab out etc. <END><br>58,rotate.zip<br>This example shows you how to create a circular form, and also track the mouse around the screen <END><br>59,tilebackground.zip<br>Tile a picture on the BG of a form. <END><br>60,GCBDemo.zip<br>Graphic control box demo with code. Demonstrates creating a control box using image controls, dragging a window using the API, pop-up menus, limiting form resize, centering controls and other good stuff. <END><br>61,Tabasic.zip<br>It`s a simple program in which you can write a Text, change its color and its font. <END><br>62,splitter.zip<br>This application demonstrates how to implement a splitter bar in a Visual Basic Project. <END><br>63,Tabasic_V1.0.1.zip<br>You can create a Text, change its color and its font, just like the fisrt Version of Tabasic. But now you can Save or Load the Text you have created. <END><br>64,formsize.zip<br>Application which sets form size restrictions. You can set Mix, Man, and fixed form sizes. <END><br>65,ProgressBar.zip<br>This program shows the progress of an action!! <END><br>66,TipOfDay.zip<br>Tip Of Day. It`s name speaks for itself. <END><br>67,msgbox.zip<br>This is a program that will allow to create message boxes easily and fast. it has an auto preview so when you type the text or whatnot it shows you. <END><br>68,FormShaper.zip<br>This is a DLL that make shaping your VB forms as esy as pie. Just call a few methods and that's it. You can have rectangles, rounded rectangles, ellipse, polygons and any combination of them.<br> <END><br>69,EllipticForm.zip<br>An Elliptic form. <END><br>70,fancy.zip<br>Create a fancy colored form. <END><br>71,transperant.zip<br>Makes forms transperant. <END><br>72,FormEffect.zip<br>To illustrate some form effects: transparency and shapes. This code allows for free switching between normal and transparent states of the same form (and free toggling between transparency with frame and without frame), and shows shaped forms as well (rectangular form with rounded corners, oval form and round form). <END><br>73,radar.zip<br>Radar form. <END><br>74,click_game.zip<br>This is a simple program with some simple logics.check it out and rate it.I will be waiting for your responce through e-mail. <END><br>75,progressbar2.zip<br> A progressbar with a difference ! <END><br>76,RoundSplash.zip<br>Splash Screen with an animated ROUND FORM. <END><br>77,resize2.zip<br>You know... Real resize function needs some information about what to do. It cannot be done without information. The program even doesn't know what I want until I give it!!! <END><br>78,oledesktop.zip<br>Ole Drag and Drop Example. <END><br>79,clsTDBGrid.zip<br>Are you using True DBgrid for your application? this class improve your speed of programming, with right-click feature, its all user-define style. <END><br>80,f_165.zip<br>How to create a directory tree like in Explorer(19KB)<END><br>81,f_183.zip<br>A program demonstrating the ListView control(7KB)<END><br>82,f_162.zip<br>An example program using the MS Comm control(14KB)<END><br>83,f_164.zip<br>An example program using the Toolbar control(3KB)<END><br>84,f_115.zip<br>A simple web browser built using the Web Browser control(2KB)<END><br>85,f_163.zip<br>How to enumerate the windows using the EnumWindows API(28KB)<END><br>86,f_159.zip<br>A simple example of exchanging data across a network using the WinSock control(4KB)<END><br>87,f_160.zip<br>A basic example on how to transfer files across the network using the WinSock Control(18KB)<END><br>
笔记:用LR做Web性能测试---简单入门
本人用LR做web性能测试的很基础的关于脚本的笔记,关联忘记写了,其他的应该都有涉及到。
基于89C51单片机控制的智能湿度控制系统设计.pdf
基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf基于89C51单片机控制的智能湿度控制系统设计.pdf
MapMagicDemo.unitypackage
unity场景地形地图编辑生成插件MapMagic World Generator 1.10.1 所支持的Unity版本:5.6.4 及以上版本需要Unity2018.3.2f1版本 A node based procedural and infinite game map generator. Each node on a graph represents a terrain or ob ject generator: noise, voronoi, blend, curve, erosion, scatter, forest, etc. Once the nodes are connected the magic happens: a game map will be created without any human involvement. No need for painstaking work sculpting and drawing vast terrains, placing thousands of ob jects, painting fields of grass: just give your orders to the plugin in the form of a node graph and it will create a map automagically! Supports multiple biomes: forests, deserts, snowy plains, jungle and other terrain types from different graphs could be blended together. Out of the box compatibility with: - Voxeland 5 - CTS - MegaSplat - RTP - uNature And in pinned (non-dynamic) mode: with all of the assets using standard Unity terrains. The asset comes with the full source code.
Delphi xe4 下完美支持中文的二维码控件
delphi xe_xe4 下完美支持中文的二维码(条码 共83种)控件,为了大家正常使用,我特意编了代码示例,文档里说明了如何安装。
ABAP程序设计源代码(黄佳)
初学SAP编程必须看的号东西。。。
DevComponents.DotNetBar v8.8.0.0.for.NET.part2.rar
功能极其强大的UI控件,适合DotNet全系列使用,效果在这里就不发了,可以去官方网站 www.devcomponents.com 。能够完美模仿Office2007风格,兼之更加强大的可以替代VS.Net自带控件。8.8新增了很多功能,包括 Office2010 样式、Ribbon 等等。 DotNetBar is world's first component to introduce fully featured Office 2010, Windows 7 and Office 2007 style Ribbon controls, first to provide full Windows XP Theme support, first to provide Diamond Docking Guides for dockable windows etc. With DotNetBar you always get latest advancements in user interface technology in your applications before anyone else. Partial list of DotNetBar Ribbon Control features: Office 2010 Styling with new Application Button and Windows 7 and Windows Vista Glass support Office 2010 style Backstage Application Menu Windows 7 Styling Quick Access Toolbar (QAT) support with full customization and placement control Black, Silver and Blue color schemes included Office 2010, Windows 7 and Office 2007 Style Application Button Office 2010, Windows 7 and Office 2007 Style form support Office 2010, Windows 7 and Office 2007 Style popup Galleries Integrated support for Contextual Tabs concept Predefined color schemes for tabs and tab groups Office 2010, 2007 style KeyTips (accelerator keys) both single key and multi-key are fully supported You can create Drop-down menus, even drop-down toolbars are fully supported You can add any standard DotNetBar items to the RibbonControl header One or more tabs can belong to Tab Groups. Tab groups are used to visually group similar tab commands. Usually they are used for contextual tabs that are shown based on active selection and disappear once something else is selected Full control over Tab Group header is provided. It can be hidden, font changed, height changed and appearance completely customized through ElementStyle appearance object (in Office 2003 style) You can add any VS.NET Windows Forms control to a Ribbon tabs. Keyboard Shortcuts are fully supported as well Windows Vista Glass support Custom Office 2010, Windows 7 and Office 2007 style color scheme generator based on single color Intelligent resizing of buttons on the Ribbon to fit the screen size
DevComponents.DotNetBar v8.8.0.0.for.NET.part1.rar
功能极其强大的UI控件,适合DotNet全系列使用,效果在这里就不发了,可以去官方网站 www.devcomponents.com 。能够完美模仿Office2007风格,兼之更加强大的可以替代VS.Net自带控件。8.8新增了很多功能,包括 Office2010 样式、Ribbon 等等。 DotNetBar is world's first component to introduce fully featured Office 2010, Windows 7 and Office 2007 style Ribbon controls, first to provide full Windows XP Theme support, first to provide Diamond Docking Guides for dockable windows etc. With DotNetBar you always get latest advancements in user interface technology in your applications before anyone else. Partial list of DotNetBar Ribbon Control features: Office 2010 Styling with new Application Button and Windows 7 and Windows Vista Glass support Office 2010 style Backstage Application Menu Windows 7 Styling Quick Access Toolbar (QAT) support with full customization and placement control Black, Silver and Blue color schemes included Office 2010, Windows 7 and Office 2007 Style Application Button Office 2010, Windows 7 and Office 2007 Style form support Office 2010, Windows 7 and Office 2007 Style popup Galleries Integrated support for Contextual Tabs concept Predefined color schemes for tabs and tab groups Office 2010, 2007 style KeyTips (accelerator keys) both single key and multi-key are fully supported You can create Drop-down menus, even drop-down toolbars are fully supported You can add any standard DotNetBar items to the RibbonControl header One or more tabs can belong to Tab Groups. Tab groups are used to visually group similar tab commands. Usually they are used for contextual tabs that are shown based on active selection and disappear once something else is selected Full control over Tab Group header is provided. It can be hidden, font changed, height changed and appearance completely customized through ElementStyle appearance object (in Office 2003 style) You can add any VS.NET Windows Forms control to a Ribbon tabs. Keyboard Shortcuts are fully supported as well Windows Vista Glass support Custom Office 2010, Windows 7 and Office 2007 style color scheme generator based on single color Intelligent resizing of buttons on the Ribbon to fit the screen size
hibernate_reference.pdf
Hibernate 官方网站上的一本介绍hibernate的参考资料。
Quickreport v5.05.1 for BC++ XE4 Full Source
QuickReport is a set of components and controls that allow reports to be designed and previewed in the Delphi and C++ Builder IDEs. Applications including Quickreport functionality can then be deployed royalty free. QuickReport is a banded report generator written in 100% Delphi code that integrates very closely with Delphi and C++Builder. Design reports within the Delphi/C++Builder IDE using the form designer as a report designer. Basic Features Report Designing - QuickReport is a banded report generator written in Delphi. Integrated very closely with Delphi and C++Builder, reports are designed in the Delphi IDE, using the IDE form designer as a report designer. Data connectivity - Quickreport can use any data component descended from the VCL TDataset class. The abstract table component provides a means to access any data that can be seen by Delphi or C++Builder while retaining all report features. Output modes - reports may be sent directly to a printer, saved in document format for later viewing, or saved as HTML, PDF, XML, CSV, XL, WMF or ASCII format. HTML and PDF may be streamed for fileless output. Features in detail Standard preview Thumbnails and text search MemoryLimit property of TQRPrinterSettings enables suppression of temporary files. Temporary files will be created if more memory is required than set. The PDF and HTML export filters do not create temporary files PrintQuality, Collate and Colour printer settings are in the report printer settings and the QRPrinterSetup dialogue box Composite report upgrade enables exporting. TCompositeReport has an ExportToFilter method for use with the PDF, HTML XML and XL filters Frames and background exports have been implemented. Band and control frames and backgrounds will be exported Export Filters can concatenate reports; PDF, HTML and XLS filters will take several reports The Direct print for metafil method may be called to send a saved report directly to the selected printer. Printer settings are respected and take precedence over internal report settings when possible Abstract dataset (Table) enables reports to be designed around a set of fields. Data to the fields can be fed in an event that is called when the dataset advances. Reports behave exactly as with a usual dataset XML/XSLT export filter outputs the document (not the data) as a browser viewable XML/XSLT document. A stylesheet for browser viewing is supplied Transparent bands and background image property is a QRImage control placed on the report (not on a band). The control remains invisible but its bitmap is painted onto each page before other printing. Bands may be set to Transparent to stop them over-painting the background Memo and RichText routines calculate the expanded height of a band and is is possible to stop bands breaking across pages without writing code RichText controls export to PDF, XML and HTML as images PDF filter enables TrueType fonts to be embeded, does not make temporary files and has a corresponding control that integrates with the preview The HTML (Web) filter produces smaller files and has properties to fix image linking difficulties and to improve the page-to-page links PDF, HTML and XML filters on palette and in preview controls integrate into the preview save menu when put on a form. Home: http://www.quickreport.co.uk/ProductInfo.aspx
Sakemail
SakEmail components Copyright ?1997 - 2003 Sergio A. Kessler web: http://groups.yahoo.com/group/sakemail/To subscribe to the mailing list of sakemail, just go tohttp://groups.yahoo.com/group/sakemail/History:0.9 - First released version0.9.1b -Fixed when a mail server reply on the connection with more than one line0.9.2b - I forget to return a value in functions retrieveHeader/Message =) and fixed it. Some minor bugs that I don‘t remember fixed.- Added MIME-compliant base64 support (not for use by now). Added examples.0.9.2.1b- Fixed a bug when send a mail and the first line disappear (thanks to Arun)- Now, you could do MySMTP.MsgTo := ‘a@doma.com; b@domb.com;c@domc.com‘; the spaces before/after semicolon doesn‘t matter (I hope ;)).0.9.3b- Many changes, I added a SakMsg component that make send binary attachments a snap. But have one problem, if you send as attach a file > 20 Kb, it doesn‘t work (I don‘t know why, maybe a problem of sockets). Developed with a version 2.0b of WSockets and D3.0.9.3.1b- Changed the POP.login to a function that return the number of new msgs.- Added the event OnRetrieveProgress on the SakPOP, and fixed the example, sorry =)- Minor changes to the code.1.0- Developed with WSockets 1.2 POP.Login now return a boolean depending id the user is authorized, and POP.Init return the number of new msgs.1.01- Fixed a bug with a bounced mail.1.02- Minor bugs fixed (some variants of boundary)14/10/971.1.0- Warning: WSockets1.2 have some bugs that result in bad attachments. So I decided to use the sockets of Delphi 3 founded in D3 c/s D3.01 pro and D3.01 c/s. Now all seems to work fine and much more smooth. And of course the interface of SakEmail hasn‘t changed.26/10/971.2.0- Added the Reply-To field to TSakMsg comp. Now you must use ‘,‘ when you want to send the msg. to multiple recipients, i.e.: ‘a@doma.com, b@domb.com,c@domc.com‘ This change is done for better compatibility with other emails clients.- Better formatting of the field Date of TSakMsg. Some changes to the code.17/11/971.2.1- Now, all searches are made in case-insensitive, it could prevent some unexpected responses (no one reported, but...). Some changes to the code (again).20/11/971.2.2- Some bugs fixed. (Thanks to Serge Wagener from .lu)24/11/971.2.3- Added the field ‘MIME-Version: 1.0‘. It seems that is necessary :)25/11/971.3.0- Added compatibility with SCO and VAX servers. Fixed a minor bug with the boundary.- Change the generator of the message id.- Added the field MessageId and InReplyTo to the TSakMsg component.- Added the field In-Reply-To that is added to the message generated when it is <> ‘‘.30/11/971.3.1- Almost rewrote the parsing code. Now is more easy for you if you want hack/modify the code.- Better treatment of emails with html inside.15/12/971.4- Added support for UUCoded attachments.- Added a small delay when sending the email, seems that some servers can‘t deglut the info too fast, causing problems with sockets buffers and leading to crash the client machine, I don‘t know if is a Borland bug or Microsoft bug. (thanks to Don Higgins).19/12/971.4.1- Fixed a bug that send double ‘<‘ and ‘>‘ (ie. <<ser@dom.com>>) when the full user name is used. Check the new SMTP demo. Thanks to Serge Wagener for locate this bug, track it down and send me the fix.2/2/981.5.0- Added the Canceled property to TSakPOP and to TSakSMTP. Due to this addition now RetrieveAllMessages is a function that return the number of msgs. retrieved and SendMessage is a boolean function (maybe someone has pressed the cancel btn).- Fixed a bug when the subject field is too large.9/2/981.5.1- Fixed a bug with a message within a message (recursive msgs).18/2/981.5.2- Fixed a bug what happens when after the field ‘To:‘ appear a blank line(Thanks to Osvaldo Fillia). Fixed a bug when sending email to more than two address (the separator is still ‘,‘).9/3/981.6.0- Sometimes the filenames of an attachment contain invalid chars making very dificult to open a TSaveDialog (you have noted this ?), now SakEmail deletes the invalid chars.- Applied a patch from Matjaz Bravc, that resolve the problem of localized dates, letting you choose (in design time) if you want localized dates (NOT recommended) or standards dates (english) via the LocalizedDates boolean property in the TSakSMTP comp. Thanks also to Serge Dosyukov for sending me a fix.- Also I applied another patch of Gregor Duchalski that cure a bug with PChar when this unit is used under NT. - It seems that some machines need more delay when sendig a msg (see previous posting 19/12/97), thanks to Matjaz Bravc.- I discover a bug in the transparency code, it is fixed now. Did you see the benefits of Open Source Software ? :)26/3/981.6.1- Added a FUNCFileName private variable to manage the complete path of the attached file. I receive problems reports with this, it work now ?.- Reduced the line sleep to 30 (tell me if this value doesn‘t work for you).27/4/981.7.0- Fixed a memory leak, thanks to Don Higgins.- Moved the string esErrorInFormatOfMsg to a property of SakPOP.- Because some people need to use IP addresses instead of Host names, I‘ve added a new property IPAddress to SakPOP and SakSMTP. If both are filled, then the Host name will be used, thanks to Roger F. Reghin for reporting this. The side effect for this is that YOUR app must check if the host is a host name or a IP address, in my app I remove the periods and try to convert the result to a float (long integers don‘t work, but float accept chars ‘e‘) if it doesn‘t work I assume that is a host name (someone has a better and simple idea ?).- Added the property FileStream to the class TAtachedFile and the procedure SaveToStream, this was done by Brian Sheperd- The address separator (in the TO: field) is ‘,‘ and ‘;‘ now (before it was ‘,‘ only).1.7.1- Roger F. Reghin has sended me a pair of nice patches that resolve in a good behavior when the destination address is something like "Roger Reghin" <rreghin@hotmail.com> and some servers says that they couldn‘t relay that mail, etc. Also Roger has made the IPAddress property obsolete (do not use it, use Host instead), SakEmail will resolve the host properly no matter if it is a host name or a IP address. So in the next version I will remove the IPAddress property. Thank you, Roger.1.8.0- Well, it seems that I made a mistake, I investigated the previous behavior and it is a fault of the SMTP (RFC 821), so I fixed it.- The IPAddress property has been removed, use Host. Goeran Strehl (asem) has sended me a patch that fix a memory leak and one problem with the object inspector and the Text property of a SakMsg. Dmitry Bondarenko say that some servers do not send the msg size after the RETR command, so he fix that issuing a LIST n command first (work nicely).- Added the property CC (Carbon Copy) to the SakMsg object.1.8.1- Added the property ReturnPath to the SakMsg comp. Minor changes to the scanning code for the filename of attachments.1.8.2- Fixed a bug with the filename of attachments (thanks to Taufer Pavel Ing.).- Added the function IsIPAddress from hou yg (the actual code don‘t work if the server is 265.net :) Fixed a minor bug with html pages like attachments. Some fucking email server return a bounded message declaring the boundary like ‘boundary = ‘ and not ‘boundary=‘ wich is clear in the RFC, fixed.1.8.3- A obscure bug was found by HuangYeJun from china, in the RetrieveHeaders function if the retrieved text was larger than 1024 bytes and the crlf.crlf fall in the middle of two chunks, the function is blocked. I don‘t use this function, btw.1.8.3.1- Just cleaned up a bit the FindUUAtachs function. Not bug or enhancements release. Serge Wagener put me to work >:|1.8.4- Dmitry Bondarenko (again) has found a bug in wich I do not respect the RFC, wich say that replys from the SMTP server could be multi-line, and the previous version just manage as far as two lines. He also send me a nice patch, so the bug is fixed.- Craig Manley added a ExtraHeaders property, please, use with care, it‘s just not valid to put inside it whatever thing.- The CC header was not being added to the headers that were being sent, so Craig fixed it.- Warning: I‘ve put try/except in the TSakPOP.Connect and TSMTP.Connect function around the line FSocket.Open, so you will need to write something like: myPOP.Connect; if POPError then ... in your code, the old way was: try myPOP.Connect; except ..... end; If you are strongly opossed to this change, drop me a line and tell me why (I‘m in doubts).1.8.5- Greg Nixon added the priority property. The default priority for each msg created will be prNormal, so you don‘t need to change your code any bit.1.8.6- Ulf Sturegren has added D4 compatibility, not many changes to the source (one letter), but he found the error.- Hou yg has sent to me a revisited IsIPAddress function, so I put the newer function in, infortunely my reply to him doesn‘t want to go.1.8.7- Ok, I discovered a weird bug, some old emailers (navigator 2) does not format the message in multipart mode if people send an attach, without writing any text and with no MIME settings. Fixed. This could be serious, I recommend upgrading.1.8.8- A small fix with the CC field. Some stupid mail servers put tabs in some fields (CC:, TO:) when they want to make a new line, the correct is to put at least a space in the beginning of the line, added a little code to "fix" that.1.8.9- Some ‘moderns‘ pop3 servers doesn‘t support the LAST command, so I‘ve added a little code to cope with this and added a boolean property ServerSupportLastCmd. See TSakPOP.Init for more details. Reported by Jan Najvarek.1.9.0- Kaufman Alex has added two properties to the SakMsg object, the ContentType and the Headers property, that should be self explaining (I modified a little the code he sended me, btw).1.9.1- I rewrote and greatly simplified the code that deal with the multiple address in the TO: field and remove some possible bugs in it.1.9.2- Alex discovered and fix a bug when a file attached is not enclosed between quotes, resulting in the filename without the first and last character.1.9.3- Better detection of the boundary in multipart messages. Fixed a bug when the attached file is empty.1.9.4- Chris G黱ther send me *lots* of memory leaks fixes, very good job, Chris. - Some weird PGP messages are now processed well.- Yang Qiandong from china fixed a compiler hint and a warning.- Modified TSakSMTP.FReceiveTextFromSocket as suggested by Greg Nixon.- Dmitry Bondarenko send me a patch that fixes some issues with the LAST command (that some servers don‘t implement) and other patch that fixes a problem when servers add spare words in the tail of the answer.- Some minor changes suggested by Matthew Vincent.- Support for _big_ attachments files (me).- Make the code more modular and simple (still is not very modular).1.10.0- Move some stuff to a sak_util unit.- Support for quoted-printable msgs, thanks to Chris G黱ther.- Fix the BCC field.- New property sakMsg.ContentTransferEncoding.2.0.0- Major reestructure of the files and the source code.- Simplifyied sakPOP3.pas a _lot_- Support encapsulated messages (message/rfc822).- Nested multipart messages are processed fine.- Attachs with quoted-printable are processed fine.- Many bugs fixes.2.0.1- A fiasco, sorry.2.0.2- Fixed a bug in the sak_CleanUpAddress.- Do the rigth job if the ContentType is ‘plain/text‘ and the encoding is base64.- Redone sak_ExtractAddress and sak_ExtractAlias.- New ‘Sender‘ property in SakMsg (normally not used, so do not use it, unless you know what you are doing) ‘Thanks‘ to Alex Kaufman for this.2.0.3- A *severe* bug with multiple addresses was fixed.2.0.4- Fixed bogus Message-number (Message-id is the correct) Thanks to Peter Honan- Added SizeInBytes property to the SakMsg component. (petition of Alex Kaufman)- Fixed a minor bug in TSakPOP.RetrieveHeaders. Fix from Alex.- Added RetrieveMessageOnlyHeaders and - RetrieveAllMessagesOnlyHeaders.2.0.5- Fix when the mail server reply is like <cr><cr><lf> (two cr).- Fix function IsIpAddress.- Both fixes by Alessandro Rossi.2.0.6- Fix a bug in the sak_Base64Decode function when the data to decode is null (I found it in the hard way).- Andy Charalambous make it sure you can send more than one email without disconnecting and connecting again.- And Chris ‘Memory Hunter‘ G黱ther killed some memory leaks (again).2.2.0- the f* sleep line that was bothering us for years is gone, gone, gone. Thanks to Syed Ahmed.- a getUIDL method of SakPOP. Thanks to Alex Kaufman.- a UIDL property on SakMsg. (me)- a SakPOP.GetUIDLsOnRetrieve boolean property (default false) (me)- change some ‘Exception.Create()‘ to ‘raise Exception.Create()‘ Thanks to Anton Saburov.- change SakPOP.Init from function to procedure (me)- new SakPOP.NewMsgsCount property (me)- changed SakPOP.Password to SakPOP.UserPassword (me)- changed SakPOP.ErrorInFormatOfMsg to SakPOP.StrErrorInFormatOfMsg- OnLookup event on SakPOP and SakSMTP. Thanks to Syed Ahmed.- OnConnecting event on SakPOP and SakSMTP (me).- OnReceiveTextFromSocket event on SakPOP and SakSMTP (me). (mostly for debug)- OnSendTextToSocket event on SakPOP and SakSMTP (me). (mostly for debug)- Headers are retrieved without the mail body (ugly bug, fix from Alex Kaufman)2.4.0- I‘ve revamped TSakMsg, many funcionality from SakPOP was moved to SakMsg, where it belongs.- Now SakMsg has a RawMail property wich you may find useful, now you can do: SakMsg1.RawMail.LoadFromFile(‘(uidl).mail‘); SakMsg1.ParseMsg; or SakMsg1.RawMail.LoadFromStream( myStream); SakMsg1.ParseMsg; or SakMsg1.RawMail.SaveToFile( ‘(uidl).mail‘); etc, etc...- Added a property TSakMsg.ClearRawMailAfterParse for memory saving.- the return of the f* sleep line (it causes freezes on winsock 1.1 systems like win95, win98 has winsock 2 so there is no problem if you remove the line)- lost of the DecodeProgess events :( (sorry, I don‘t know how to fit this events on the new SakMsg)2.6.0- the sleep() line is dead, it will never come back. Sending an email is a pleasure now.- SakMsg has a TextEncoding (8Bit, Base64) property, I think this will be useful to people with others charset than iso-8859-1- the base64 routines have been rewritten, they are more OO and faster (they are now in SakMIME.pas).- cosmetic changes all over the place.2.6.1- simplifyed ParseMsg2 a lot, it work better now.- speed up the search for uucoded attachs (the previous search was very dumb)- fixed bug Msg.SizeInBytes always 0- added a couple of Application.ProcessMessages to make the app more responsive.2.6.2- moved some functions from sak_utils to SakMIME.- make const parameters all over the place.- fix the bug that introduces a final crlf in quoted-printable attachs.- fix a division by zero if attached file is 0 bytes long, fixed by Peter Kollanyi.2.6.3- fix a rare bug when the header of a email (more probably a encapsulated one) has first line/s in blank. Easy and innocuous bug.2.6.4- fix the bug that insert the attachs of type text/* on the body of the email.- change the Smtp.SendMessage for Smtp.SendTheMessage to avoid a BCBuilder problem. Both problems reported by Andreas Franzen. SendMessage is still there, but it‘s now deprecated, I will remove it in the future.2.6.5- moved the ParseMsg activation from SakPOP to SakMsg (where it belong), this means that after setting the RawMail property of SakMsg, this does a ParseMsg automatically. before: SakMsg1.RawMail := ... SakMsg1.ParseMsg; now: SakMsg1.RawMail := ... hope I‘m not breaking too much code out there ... :)- some changes in the way attachments are processed (now the html part is separated correctly and images within the html are recognized)- RetrieveMessage() and RetrieveMessageOnlyHeaders() now take an additional parameter, a TSakMsg var, so people can change some parameters before parsing, see the source in SakPOP3.pas (the old way is still supported, but they will be removed in the future)- bug fixes that I do not remember.3.0.0- moved code around.- removed deprecated functions (I told you about this)- new SakAttFile unit.- Base64Encode( AttFile), Base64Decode( AttFile), UUDecode( AttFile) has been moved to the TAtachedFile object, so you can do AttFile.Base64Encode, AttFile.Base64Decode, etc- SakSMTP have lost EncodeStart, EncodeProgess and EncodeEnd events as a consequence of the previous change.- SakPOP.Canceled and SakSMTP.Canceled properties have been made read-only and SakPOP.Cancel and SakSMTP.Cancel procedures (or methods) have been added.- add a SakMsg.FillRawMail method that will fill the RawMail property with a rfc822 message based on the properties of SakMsg.- changed SakSMTP.Quit & SakPOP.Quit to Disconnect- deleted TAttachedFile.FileStream (redundant), use BodyBin- removed the function sak_getTempFileName (as it should no be trusted) use function sak_GetTempPath- the new SakIMAP component !, this make a pleasure to work with incoming emails (as you can have folders, etc). Note: the IMAP component has only been tested with the Uni. of Washington server, but it should work with any *STANDARD COMPLIANT* server. Anyways, the code of this component is very simple, so if you have problems, a look in the source code can enligthen you.3.0.1- fixed a brown paper type of bug.3.0.2- support the case where attachs do not come from files (Lars Karlslund)- minor bugfix in UUDecode function (Lars Karlslund)- if the SakMsg.Username is empty, do a VRFY command at the smtp server to try to get the full user name (sergio)- function TSakIMAP.GetFolderList (Peter Nagel)- function TSakIMAP.GetHierarchyDelim (Peter Nagel)- frustrated intent (ie. commented out) to remove memory leaks in POP, SMTP & IMAP destroy functions (Ronald Moesbergen)3.0.3- actually create (and free) the FolderList in sakIMAP (Neculau Andrei)- try to send the FQDM to the HELO command in SMTP (sergio)- commented out the VRFY command in SakSMTP, and cut the from address in the From field (in SakMsg), so if the username is empty, the SMTP server rewrite the from address in a complete way, with username & full address (sergio)- fix a minor bug in TBase64DecodingStream.Write function (Lars Karlslund)3.4.0- many, many improvements to the IMAP component by Peter Honan (I applied the patch with minor modifications, mainly to respect delphi coding standard, taking out the overloading, the selectFolder function was overcomplicated, etc)- FAQ updated (me)3.4.1- minimize the chance for two temporal messages stored on disk to collide (can be hit in previous versions if you run multiple instances of retrieveMessage at the same time)- FAQ updated.3.4.2- a new sak_CleanUpAddresses() implementation, by Knut Baardsen- better handling for temporal messages, suggested by Andrew- many improvements (including ACL -Access Control List) to the IMAP component by James Chaplin3.4.3- reverted to the old sak_CleanUpAddresses() implementation Knut‘s one is almost rigth, but don‘t let us use addresses without domains- add Headers.Clear before filling headers, by "Antonio Carlos Ribeiro Faria" <consultor@cys.com.br>3.5.0- add TSakMsg.LoadFromTextFile from Oak Chantosa- big jumbo mambo patch from James Chaplin first patch: 1) Operation timeout - OperationTimeout timeout for non-responding receive operations. 2) Forced abend - ForceAbend method that will disconnect and reset state. 3) Optional folder lists - AvFolderList and AvSUBFolderList provide alternatives to FolderList and SUBFolderList that ensure the lists do not contain inacessible folders ( flagged by the server ). 4) Folder name fix - Provided a function to "fix" folder names before submission. Currently it fixes names containing spaces. second patch: 1) Capability - Ask for server capabilities/extensions. 2) Noop - Basic noop command - updates message counts as well - preferred alternative to status. 3) Status - Explicit status command - generally useful for status of a non-selected mailbox. 4) Fetch - Retrieve message data. 5) FetchBody - Retrieve the body of the message. 6) ExamineFolder - A read-only select command. 7) CloseSelectedFolder - Close the currently selected folder. 8) Idle - RFC2177 extension - not implemented on very many servers. 9) Search - Search based on RFC2066 criteria. 10) UIDSearch - Search based on RFC2066 criteria - results are in UID form. 11) UIDStoreFlags - Store message flags based on UID. 12) UIDFetch - Fetch message data by UID. 13) UIDCopyMessageToFolder - Copy a message by UID. 14) Authenticate - Basic framework. Only plain authentication extension implemented. 15) CloseOnError - A new property that allows the user to turn off the default behaviour of disconnecting from the server when an IMAP error is received 16) Namespace - RFC2342 Namespace query command. 17) ListFullHierarchy - Property which allows a switch between "*" ( default ) or "%" as the wilcard for default folder/list methods. 18) List - Explicit list command in case it is needed. third patch: 1) fix problem with imapd 2001a, reported by Holger Mauermann. 2) remove all warnings.3.5.1- revert change to the base64 encoding routine.3.5.2- changes from James Chaplin: 1) TSakIMAP will now properly process non-numeric UIDs for messages ( there was a sak_StrWord2Int transform being used before - which always produced a 0 value for non-numeric UIDs ). 2) TSakIMAP.RetrieveMessageExt ( private method ) was modified to provide a retrieval by either MsgID or UID. 3) TSakIMAP.RetrieveMessageByUID was modified to use the slightly more efficient TSakIMAP.RetrieveMessageExt(UID) method specified in 2) above. I also made an update to the SakMIME.pas unit. The changes that were implemented are: 1) sak_Base64Encode - a basic Base64 encoder. String input and string output with the option for CRLF splitting. 2) sak_Base64Decode - a basic Base64 decoder. String input and string output with a control for CRLF interpretation. 3) sak_Base64Verify - a very basic Base64 string verifier.3.5.3- robustify and code cleanups by Paul Vernon.3.5.4- access violation fix by Paul Vernon.3.5.5- go back to good old trusty 3.5.23.5.6- this time, all the cleanup & fixes from Paul Vernon seems to work well.3.6.0- Paul Vernon latest minor fixes- added basic SMTP authentication, by Delfi and Antonio Carlos Ribeiro Faria3.6.1- fix a mayor bug when sending to many addresses (by sergio)3.7.0- add full support for html mails, by Paul Vernon. (The TAttachedFile now has an extra boolean property called embedded. This property lets you use the syntax <img src=DownloadFiles2"CID@myimg.gif"> in your HTML mails)- fix a weird typo for BCC fields- add Content-ID, by alejandro Castro- fix "_" characters in subject, regression fix.- cleanups all around, by Paul Vernon.- SMTP example updated to cope with html emails.**warning** from this version, the html part of mails will not be stored as attachments by default, if you want this behavior, you just do something like: aSakMsg := TSakMsg.Create( self); aSakMsg.HTMLAsAttachment := true; ...3.7.1- fix TSakMsg.PopulateList (Jalin)3.7.2 (codenamed "melissa")- fixed a bug when the Populatelist procedure got re-written in sakMsg. It wasn‘t populating the SendTo field if there was only one e-mail address... (Paul Vernon)3.7.3 - Congratulations to Sergio on the addition to his family. This release was made by Paul Vernon who has temporarily taken over the release functions for the SakMail components whilst Sergio spends time AFK!- The 3.7.2 bug fix added blank entries to the address lists. The PopulateList procedure has been re-written again to hopefully cope with any type of e-mail address formatting.- The SMTP example noted in 3.7.0 actually shipped with this release!3.7.4- Bugfix for detecting UUEncoded mails correctly. Previous versions processed MIME mails with the value ‘begin xyz‘ if it appeared at the beginning of a line as a UUEncoded mail when they should not have.- POP and SMTP connect procedures are now functions. Existing code is unaffected. However, you can now use the following code if (sakPOP.Connect) then begin end;- POP gracefully quits if it receives an error now by calling Disconnect correctly.3.7.5- Further code to improve identification of UUEncoded mails. Essentially looking for the end as well as the beginning to ensure that it is correct.- Code optimisation of certain UUEncoded mail id functions.- Fix to ensure that the body of a mail that is UUEncoded is not lost.- MIME-Version string introduced into TsakMsg component to help with UUEncoded mail identification.- SizeInBytes property altered to read private variable using a function. If the private variable is 0, the function reads the length of the FRawMail.Text property.- Fix to make sure that the filename is not overwritten by a blank value when parsing mail-headers.3.7.6- Fixed list index out of bounds error.- Added POP3 RSET call TSakPOP.Reset.3.7.7- Altered SizeInBytes and Octets values to return server-side size when d/l headers only and use actual size once the entire message is downloaded.- Fixed a bug in GetBasicHeaders where To and CC fields could be mishandled if the mail headers were formed in a particular way.4.0.0 beta- All methods are now wrapped in classes. sak_util is now included for backwards compatibility only.- Several changes to make sakMail thread safe including the introduction of Mutexes which are cross process safe. Critical sections were an option however, although mutexes are a little slower, they are much more effective when you aren‘t sure how the code is going to be deployed...- Made several changes to the way connections are tracked, now making better use of the underlying Delphi components own properties and functions.- Several bug fixes included from solutions posted on mailing lists. Including change to datetime function to respect local time separator. There are more including one that Adem re-raised.- Removed almost all pointers as per Adems suggestion. Makes for neater code.- Hopefully backwards compatibility is kept. This is one of the objectives of the excersice although, internally, the components no longer use any of the non-object based methods. Also some of the non-object based methods actually have been re-written to create an object use the instance of the original method and then destroy the object again. This introduces a minor overhead however, because the objects are discreet, the trade is for much better memory usage and greater thread safety.- Introduced an include file to define compiler directives. Currently there are two directives. One defines whether to use the VCL or not, the other defines whether or not to use the FastStrings components. - With the intoduction of the Include file, this allows the development of code that is optional for users. One of these such changed is the use of the FastStrings base64 decoder. If you install the FastStrings components and turn on the compiler directive, you should have no functional changes however, the base64 decoder routines should have a much higher performance rating. Tests clock in at over 2000% faster attachment decoding on a P4 1.8GHz machine. (1.2Mb file 1686mS native sak Base64 Decoder, 79mS using FastStrings!)- This version is being released as a beta as the changes are pretty drastic. If the code is deemed to be stable and backwards compatible then it will be re-released as v4.0.1 with no changes.4.0.1 beta- Fixed an issue where Range Checking highlighted that the Attachment b64 decode routine raise a Range Error if the line that was to be decoded was empty. i.e. ‘‘.- Introduced a compiler directive to turn off range checking in the sakMIME procedure TBase64DecodingStream.Write to make sure that it runs correctly as Range Checking causes issues in this function.4.0.2 beta- Changed MailDateToDateTime function to the one provided by DengZhaoHui with a few modifications as even though it has better date processing than the original it caused EConvertErrors with some non-rfc dates.- Added the compiler directive to allow the inclusion of MD5 components from the DCPCrypt suite of encryption components. This allows the components to do APOP and SMTP AUTH functions as specified in RFCs 2095, 2104, 2449 and 2554. {UseDCP} ***** NOTE: These functions are experimental as although they are RFC compliant, they have not been tested against a secure mail server yet... *****- Using EurekaLog during load testing of the POP mail component, found and fixed several AV‘s in sakMSG, sakMIME and sakPOP. Mainly simple mistakes that required re-ordering of code or more checks before trying to manipulate data.- Altered the sockets code to be more stable with some servers. The previous implementation was totally incompatible with SendMail NT v3.0.2.- Fix added to compensate for incorrect operation of Connected property in some versions of Delphi.- Altered GetMultiLineFieldBody as per Adems suggestion. Also took some of Adems code and added it to GetFieldValueFromLine as the escape characters can appear in single line headers as well as multi-line ones.- TClientSocket is deprecated in Delphi 7. This may be the next large change in the sakEmail components. - Updated distribution to include more RFC‘s regarding the message format, POP and IMAP and hashing functions for CRAM mechanisms.- Fixed the handling of redirected mails as created by Eudora.- Force PopulateList to clear the list before populating it again.- Created a Delphi 6 package file.4.0.3 - Fixed AUTHSMTP buffer initialisation error. (Dmitry G. Kozhinov and Gabi Slonto)- Improved identification of servers that do not support the UIDL command. A small overhead is intorduced on servers that do support the command and have several mails to download but the feature allows better interaction with those servers that do not support UIDL.- Priority is now reported correctly when an e-mail is being decoded rather than only being used when sending an e-mail.4.0.4- Fixed an issue with a malformed header in a mail sent from MS Word through an Exchange server- Added a couple of try...finally blocks to the sakIMAP component.- Altered the sakIMAP components connected function to mirror the more accurate sakPOP method.- Consolidated all compiler directives into sakDef.inc- Added versioning compiler directives to allow the compilation of sakemail under Delphi 4.- General tidying of code. 4.0.5- Created a Delphi 7 package- Added properties to the IMAP component to allow read access to the LocalAddr and LocalHost socket properties.- Bugfix to sakMsg PopulateList function where a comma separated list did not contain any spaces- Access violation in sakPOP component due to incorrect use of free,freeandnil and compiler directives4.0.6- Added several features to the IMAP components.- Tidied up SMTP authentication routines (Improved use of MD5 for authentication using DCP components)- Included capability to send messages without an SMTP server (using Indy DNS components for MX lookups)- Bugfix in message parsing to stop a recursion loop due to a malformed mail.4.0.7- Memory leaks found by Amos and Paul regarding the sakMsg and sakPOP units respectively.- Bug fixes to attachment save code including stripping out invalid .. sequences from filenames- Improved the GetConnectedState method to check against the RemoteHost value on the Socket.- Updated POP example to be more responsive when downloading mail. Fixed a memory leak.Don‘t forget to subscribe to the mailing list (see the web pages at http://groups.yahoo.com/group/sakemail/)
CUDA Programming Guide, Release 13.3 中文版
CUDA Programming Guide, Release 13.3 中文版
最新推荐






