Hot Search : Source embeded web remote control p2p game More...
Location : Home Search - linux c so
Search - linux c so - List
linux下用C语言写的聊天程序!/*BUG and NOTE: Not join protect to Shared Memory Segments,example Semaphore Arrays. Not check the parameters validity. When transmit may be error. If the client program no right exit,others cannot know,the service program shouldbe check the client program whether exist timing. The program when exit(), it do not delete the Shared Memory Segments,you maybe use atexit() but the program have some processes. When one process is exit(),others is continue. The service program s action is few. And so on. */
Date : 2008-10-13 Size : 5.06kb User : 吴兴圆

sms发送短信的程序,对于在linux环境下开发的人员很有用。 SMS-Dispatch is Linux console C++ program for SMS messages dispatch from preliminary prepared text file via circuit GSM phone in batch mode. Tested on Motorola C3xx phones. So you can create the report about users status for ex. and send it them as SMS.
Date : 2008-10-13 Size : 11.71kb User : maoyang

sms发送短信的程序,可以在windows,和linux两个环境下。 SMS-Dispatch is Linux console C++ program for SMS messages dispatch from preliminary prepared text file via circuit GSM phone in batch mode. Tested on Motorola C3xx phones. So you can create the report about users status for ex. and send it them as SMS.
Date : 2008-10-13 Size : 503.63kb User : maoyang

1. 编写一个C程序作为Linux内核的shell命令行解释程序。Shell程序应该使用与Bource shell相同的方式运行程序。 2. 增加功能以使用户可以使用\"&\"操作符作为命令的结束符。一个以\"&\"结尾的命令应该与shell并发执行。 3. 增加功能以使用户可以使用\"<\"和\">\"作为文件名前缀来重定向stdin和stdout描述符。同样,允许用户使用管道操作符\" \"来同时执行两个进程,并把第一个进程的stdout重定向为第二个进程的stdin。-1. Preparation of a C program as a Linux kernel shell command line interpreter. Shell procedures should be used with Bource shell the same way as operational procedures. 2. Increased functionality so that customers can use, "" operator, as ordered by the end tags. A "" the end of the order should be concurrent with the implementation of the shell. 3. Increased functionality so that customers can use "lt;" "Gt;" As a filename prefix to redirect stdin and stdout descriptors. Similarly, allows users to use pipeline operator, "" two parallel processes, and a process to redirect stdout second process stdin.
Date : 2008-10-13 Size : 22.48kb User : 李强

本书并不是特意一本Linux 的内部手册相反它是对操作系统的介绍同时以Linux作为示例书中每一章遵循从共性到特性的原则它们将首先给出核心子系统的概叙然后进行尽可能的详细描叙 我不会用routine_X()调用routine_Y()来增加bar 数据结构中foo 域的值这种方式来描叙核心算法 你自己可以通过阅读代码发现它每当需要理解一段代码时我总是将其数据结构画出来这样我发现了许多相关的核心数据结构以及它们之间的关系 每一章都是非常独立的就象Linux 核心子系统一样当然有时它们还是有联系的比如说如果你没有理解虚拟内存工作原理就无法描叙进程 硬件基本概念一章对现代PC 做了简要介绍操作系统必须与硬件系统紧密结合在一起协同工作操作系统需要一些只能够由硬件提供的服务为了全面理解Linux 你必须了解有关硬件的基础知识 软件基本概念一章介绍了软件基本原理与C 程序语言讨论了建立Linux 这样的操作系统的工具并且给出了操作系统的目标与功能的概叙 内存管理这章描叙了Linux 如何处理物理内存以及虚拟存储技术 进程管理描叙了进程的概念以及Linux 核心是如何创建管理与删除系统中的进程 进程间及进程与核心间通讯以协调它们的活动Linux 支持大量进程间通讯IPC -the book is not specifically a Linux internal manual Rather, it was the introduction of the operating system Linux simultaneously in each chapter of the book as an example to follow from the common characteristics of the principles is that they will be the first core subsystems of Syria will then proceed to the detailed depicts as possible, I will not use routine_X () call routine _Y () to increase the bar data structure foo domain of values in this manner, depicts the core algorithm you can read the code when it was found necessary to understand some code, I will always data structure drawn so I found many of the core data structure and the relationship between them each chapter very independent, just like the Linux kernel subsystem of course sometimes they like or linked, for instance if
Date : 2008-10-13 Size : 1.14mb User : 陈彬

winsock编程声明:最近一直有人要用我的这个实验报告,并为此多次给我发邮件。我不反对你们使用这个报告。但是,有几个问题请注意一下: 1、这个报告的代码不完全。只有进行语法分析和词法分析的两个函数,没有使程序完整起来的主函数。 2、我在写这些代码的时候看错了语法分析的语法规则,导致某些符合语法规则的源文件无法被正确分析。这个问题我在报告的最后面有描述。 3、代码的编译:我不保证实验报告中的代码可以在TurboC2.0下编译通过。Visual C++下也不保证。代码的语法规则是符合C99标准,而TC太老,不支持C99,VC也不能很好支持。那些代码是在Linux下用gcc调试通过的。所以使用gcc没有问题。Windows下使用lcc没问题。没有在Dev-C++下测试过,应该没问题。其他编译器一概不保证可以通过。 4、请不要为了索取完整代码给我发邮件,我已经在第一点声明过了:我没有完整代码,所有我有的代码都已经在报告里了。 5、我不是你们的程序设计老师,所以请不要给我发你们的代码让我来修改。至少在1月23日之前不可以。 祝愿大家都能顺利的完成自己的课程设计。 《编译原理》课程设计报告 1 词法分析 1.1 试验目的 设计,编制并调试一个词法分析程序,加深-winsock programming statement : Recently, I have been to use the report of this experiment, and this time I made to the mail. I do not oppose the use of this report. However, there are several issues to make : one, the report code incomplete. Only syntax analysis and lexical analysis of the two functions, not the integrity of the process up so that the main function. 2, I wrote the code in the wrong syntax analysis of the grammatical rules, which led to some grammatical rules with the source document can not be properly analyzed. The problem I face the final report is described. 3, code compiler : I do not guarantee experimental report of the code can be compiled under the TurboC2.0 through. Visual C does not guarantee that. The code is in line with the rules of grammar C99 standards, and
Date : 2008-10-13 Size : 173.48kb User : 名台

DL : 11
************************************************************************ * * * * * THIS IS THE H Y P L A S 2.0 README FILE * * ----------------- * * * * HYPLAS is a finite element program for implicit small and large * * strain analisys of hyperelastic and elasto-plastic two-dimensional * * and axisymmetric solids * * * * HYPLAS v2.0 is the companion software to the textbook: * * EA de Souza Neto, D Peric & DRJ Owen. Computational Methods for * * Plasticity: Theory and Applications. Wiley, Chichester, 2008. * * (www.wiley.com/go/desouzaneto) * * * * Copyright (c) 1998-2008 EA de Souza Neto, D Peric, D.R.J. Owen * *----------------------------------------------------------------------* * File last updated: 18 October 2008 * * * * This file belongs in the directory ../HYPLAS_v2.0 * ************************************************************************ * * * I M P O R T A N T * * * * READ SECTIONS 0 TO 3 OF THIS FILE CAREFULLY BEFORE ATTEMPTING * * TO COMPILE AND RUN THE PROGRAM HYPLAS ON YOUR COMPUTER !! * * * * THE AUTHORS DO NOT GUARANTEE THAT ANY SUGGESTIONS/INSTRUCTIONS * * GIVEN IN THIS README FILE WILL WORK ON ANY PARTICULAR OPERATING * * SYSTEM. IF YOU DECIDE TO FOLLOW ANY SUGGESTIONS/INSTRUCTIONS * * GIVEN HERE YOU MUST DO SO AT YOUR OWN RISK. * * * * * * BUG REPORTS: Please send bug reports to * * * * hyplas_v2.0@live.co.uk * * * * Messages sent to the authors' personal email addresses * * will NOT be answered. * ************************************************************************ This file contains the following sections: 0. Copyright statement and disclaimer 0.(a) Copyright statement 0.(b) Disclaimer 0.(c) Conditions of use 1. Introduction 1.(a) Note on portability 2. Compiling and running HYPLAS 2.(a) Memory requirements 2.(b) Testing a newly compiled executable 3. The HYPLAS directory tree 4. Cross-referencing between the source code and the textbook 5. HYPLAS error messaging 6. Further remarks on HYPLAS ************************************************************************ 0. COPYRIGHT STATEMENT AND DISCLAIMER ================================== 0.(a) Copyright statement ------------------- You may only use this program for your own private purposes. You are not allowed, in any circumstances, to distribute this program (including its source code, executable and any other files related to it, either in their original version or any modifications introduced by you, the authors or any other party) in whole or in part, either freely or otherwise, in any medium, without the prior written consent of the copyright holders. 0.(b) Disclaimer ---------- This program (including its source code, executable and any other files related to it) is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, any implied warranties of fitness for purpose. In particular, THIS PROGRAM IS BY NO MEANS GUARANTEED TO BE FREE FROM ERRORS. This program (or any modification incorporated to it by you, the authors or any other party) will run entirely at your risk. The results produced by this program are in no way guaranteed to be fit for any purpose. Under no circumstances will the authors/copyright holders be liable to anyone for damages, including any general, special, incidental or consequential damages arising from the use or inability to use the program (including, but not limited to, loss or corruption of data, failure of the program to operate in any particular way as well as damages arising from the use of any results produced by the program for any purpose). 0.(c) Conditions of use ----------------- You may only use this program if you fully understand and agree with the terms of the above disclaimer. You must not use this program if you do not agree with or do not understand (fully or in part) these conditions of use. 1. INTRODUCTION ============ HYPLAS is a finite element code for small and large strain analysis of hyperelastic and elasto-plastic solids. Most procedures implemented in HYPLAS are described in detail in its companion textbook: EA de Souza Neto, D Peric & DRJ Owen. Computational Methods for Plasticity: Theory and Applications. Wiley, Chichester, 2008 (www.wiley.com/go/desouzaneto). 1.(a) Note on Portability ------------------- HYPLAS has been written in standard ANSI FORTRAN 77. Currently, the only known (and deliberate) exceptions to the FORTRAN 77 ANSI standard are the instructions: INCLUDE '' used in many routines to include the HYPLAS database files (common blocks and global variables), and; CALL GETENV('HYPLASHOME',HYPLASHOME) used in subroutine "ERRPRT" (file ../HYPLAS_v2.0/src/GENERAL/errprt.f). This instruction inquires the name of the system environment variable HYPLASHOME and writes it on the character string HYPLASHOME. This instruction is NOT part of the ANSI FORTRAN 77 standard, but seems to work in most currently available FORTRAN 77 compilers. 2. COMPILING AND RUNNING H Y P L A S ================================== The HYPLAS source code is stored in directory ../HYPLAS_v2.0/src/ (../HYPLAS_v2.0/ being the current directory) and all its subdirectories. To generate an executable file, you just need to compile the FORTRAN source files: ../HYPLAS_v2.0/src/hyplas.f and ../HYPLAS_v2.0/src/*/*.f together. We recommend that the executable HYPLAS be stored in the directory ../HYPLAS_v2.0/bin to which the environment variable HYPLASHOME should be set (see below how to set a system environmental variable). WINDOWS (R) systems ------------------- On Microsoft Windows(R) systems, HYPLAS has been successfully compiled using Intel Visual Fortran Compiler(R) integrated with Microsoft Visual Studio(R). Here you only need to create a project that contains all Fortran source files mentioned above as well as the include files ..\HYPLAS_v2.0\src\*.INC On a Windows XP system, the system environment variable HYPLASHOME can be set as follows: 1. Open a File Manager 2. Right-click on the "My Computer" icon 3. Select "Properties" on the drop-down menu 4. A new window named "System Properties" will pop-up. Here select the "Advanced" tab. 5. On the "Advanced" tab, click the "Environment Variables" button. 6. A new window titled "Environment Variables" will pop-up. Here click the button "New" in the "System Variables" section of the window. 7. A new window will pop-up titled "New System Variable". Here you should fill the fields "Variable name" and "Variable Value", respectively, with HYPLASHOME and the path name (in full) of the directory ..\HYPLAS_v2.0\bin. 8. Press "OK" on the relevant pop-up windows. 9. The next time the computer is REBOOTED, this variable will be set to the correct path and HYPLAS should be able to find the error messages file ERROR.RUN if required. UNIX/LINUX systems ------------------ In a UNIX/LINUX operating system using a C-shell, for instance, the HYPLASHOME environment variable should be set with the command: setenv HYPLASHOME where here denotes the full path to the directory ../HYPLAS_v2.0/bin. To compile HYPLAS (from directory ../HYPLAS_v2.0/src) with a FORTRAN 77 compiler such as g77, you can use the command: g77 -o ../bin/hyplas hyplas.f */*.f Note that the executable file "hyplas" will be stored in the directory ../HYPLAS_2.0/bin (i.e. the directory set in the HYPLASHOME environment variable). Alternatively, you may use the Makefile provided (with suitable modifications, if needed) to create the HYPLAS executable. IMPORTANT: Before generating a HYPLAS executable, read Sections 2.(a) and 2.(b) below. 2.(a) Memory Requirements ------------------- HYPLAS memory requirements depend on the array dimensioning parameters set in files: ../HYPLAS_v2.0/src/ ELEMENTS.INC GLBDBASE.INC MATERIAL.INC MAXDIM.INC Files ELEMENTS.INC, GLBDBASE.INC and MATERIAL.INC contain parameters which are associated with the currently implemented finite elements and materials. DO NOT MODIFY THEM ! unless you are absolutely sure of what you are doing (only developers coding new elements or new material models/analysis types may need to modify them by changing the existing dimensioning parameters and/or including new parameters). The ONLY dimensioning file that can be safely modified by the average user is the file MAXDIM.INC This file contains the array dimensioning parameters related to the maximum permissible dimension of problems to be analysed by HYPLAS. These parameters include the maximum number of nodes, elements, element groups, etc. If necessary, CHANGE THESE PARAMETERS TO SUIT YOUR PROBLEM SIZE/MEMORY REQUIREMENTS before compiling HYPLAS. 2.(b) Testing a newly compiled executable ----------------------------------- After you have successfully compiled the HYPLAS source code and created an executable file, the next step is to run some tests to verify that HYPLAS is working well. To do this, proceed as follows: The directory ../HYPLAS_v2.0/book_examples/data_files contains a series of data files named .dat of benchmarked examples described in the companion textbook. The corresponding (benchmarked) result files are in the directory ../HYPLAS_v2.0/book_examples/result_files This directory contains a series of result files named .res generated with the current version of HYPLAS on a tested platform. All these files have been named such that their names start with the textbook section number where the corresponding example is described. For instance, files 14_9_2_tresca.dat and 14_9_2_tresca.res refer to a problem described in section 14.9.2 of the textbook, and so on. To check that HYPLAS is working well on your platform, after compiling HYPLAS, run the program HYPLAS for the examples of files .dat and compare the newly generated results .res with their benchmarked counterparts (of the same filename) in the result_files directory. To run an example, execute HYPLAS and use the keyboard to enter the name of the corresponding data file in full (including the extension .dat). To compare the benchmarked .res files against their newly generated you may proceed as follows: 1. On MICROSOFT WINDOWS systems - Here we have successfully used the software "ExamDiff" (the task was made particularly easy by selecting "View" and then the "Show Differences Only" option - this refers to version 1.8 of this software). 2. On UNIX/LINUX systems - Here we use the "diff" command from a shell window (and set the option to ignore blank spaces). A shell script may be used to perform this task automatically (including running HYPLAS and checking for result file differences) for all benchmarked examples provided. IMPORTANT: THE ONLY ACCEPTABLE DIFFERENCES BETWEEN A THE NEWLY GENERATED RESULT FILES AND THEIR BENCHMARKED COUNTERPARTS ARE THE DIMENSIONING PARAMETERS (FROM FILE MAXDIM.INC) USED TO COMPILE THE NEW EXECUTABLE (THESE PARAMETERS ARE PRINTED RIGHT AT THE BEGINNING OF THE RESULT FILES) AND NUMERICAL DIFFERENCES IN RESULTS DUE TO NUMERICAL "ROUNDING-OFF" (THESE ARE VERY SMALL DIFFERENCES THAT DEPEND ON THE PRECISION OF ARITHMETIC OPERATIONS IN THE PLATFORM USED). ALSO NOTE THAT THE EXAMPLES OF THE COMPANION TEXTBOOK DO NOT COVER ALL FEATURES OF HYPLAS. HENCE THIS TEST DOES NOT GUARANTEE THAT EVERYTHING IS WORKING PROPERLY. 3. THE H Y P L A S DIRECTORY TREE ================================ 3.(a) Summary ------- ../ HYPLAS_v2.0/ bin/ book_examples/ data_files/ result_files/ man/ html/ src/ CRYSTAL/ DAMAGE/ DAMAGED_ELASTIC/ DRUCKER_PRAGER/ ELASTIC/ ELEMENTS/ GENERAL/ MATERIALS/ MATHS/ MOHR_COULOMB/ OGDEN/ TRESCA/ VON_MISES/ VON_MISES_MIXED/ 3.(b) Description ----------- The HYPLAS program directory tree is organised as follows: ../HYPLAS_v2.0/ (this directory) This is the HYPLAS root directory, where the HYPLAS directory tree starts. ../HYPLAS_v2.0/bin/ This directory contains the file ERROR.RUN where most HYPLAS error/warning messages are. IMPORTANT: the environment variable HYPLASHOME should be set to this directory. Otherwise, HYPLAS will not find its error/warning messages when required. We also recommend that the EXECUTABLE of HYPLAS be stored in this directory. ../HYPLAS_v2.0/book_examples/ This directory has the following subdirectories: ../HYPLAS_v2.0/book_examples/data_files ../HYPLAS_v2.0/book_examples/result_files Refer to Section 2.(b) above for further details. ../HYPLAS_v2.0/man/ This is the HYPLAS documentation/manuals directory. It contains the following files: input_man.txt - A concise input data manual for HYPLAS in ASCII format; hyplas_calltree.txt - Contains a flowgraph (shows the call tree) of HYPLAS in ASCII-format. Note: calls to function subprograms are not included in this flowgraph; and the subdirectory: ../HYPLAS_v2.0/man/html This directory contains the hypertext (HTML) format Fortran source code and of manual pages of the entire HYPLAS program. Manual pages with descriptions of each function/subprogram including their argument list are linked to their corresponding HTML-format source code. This allows the user the navigate through the HYPLAS source code using a web browser. To start at the main program, use your web browser to open the file hyplas.html. This facility should be helpful to those trying to understand the flow of program HYPLAS. ../HYPLAS_v2.0/src/ This directory (and its subdirectories) contains the Fortran source code of HYPLAS. The files containing the sources are named following the standard practice: .f where is the name of the FORTRAN procedure (subroutine, function subprogram, etc.) whose source code is in file .f. The source code of the HYPLAS main program is in file hyplas.f and the HYPLAS database (COMMON blocks, array dimensioning parameters and other global parameters) is coded in the "include files" ELEMENTS.INC GLDBASE.INC MATERIAL.INC MAXDIM.INC in this directory. In addition, this directory contains a file named "Makefile" (UNIX-LINUX Release only) which may be used for compiling and linking HYPLAS in UNIX/LINUX systems. The subdirectories of ../HYPLAS_v2.0/src are as follows: ../HYPLAS_v2.0/src/CRYSTAL Contains the source code of all procedures related to the finite strain single crystal plasticity model implemented in HYPLAS. ../HYPLAS_v2.0/src/DAMAGE Source files of the procedures related to the Lemaitre ductile damage model implementation. ../HYPLAS_v2.0/src/DAMAGED_ELASTIC Source files of the procedures related to the damaged elasticity model with crack closure effect. ../HYPLAS_v2.0/src/DRUCKER_PRAGER Source files of the procedures related to the implemented Drucker-Prager plasticity model. ../HYPLAS_v2.0/src/ELASTIC Source files of the procedures related to the linear elasticity model (Hencky model under large strains) implemented. ../HYPLAS_v2.0/src/ELEMENTS Source files of the element interfaces and element-related procedures. ../HYPLAS_v2.0/src/GENERAL Source files of general procedures. ../HYPLAS_v2.0/src/MATERIALS Source files of the material interfaces. ../HYPLAS_v2.0/src/MATHS Source files of the mathematical procedures. ../HYPLAS_v2.0/src/MOHR_COULOMB Source files of the procedures related to the implemented Mohr-Coulomb plasticity model. ../HYPLAS_v2.0/src/OGDEN Source files of the procedures related to the implemented Ogden hyperelasticity model. ../HYPLAS_v2.0/src/TRESCA Source files of the procedures related to the implemented Tresca plasticity model. ../HYPLAS_v2.0/src/VON_MISES Source files of the procedures related to the implemented von Mises plasticity model with isotropic hardening. ../HYPLAS_v2.0/src/VON_MISES_MIXED Source files of the procedures related to the implemented von Mises plasticity model with mixed isotropic/kinematic hardening. 4. CROSS-REFERENCING BETWEEN THE SOURCE CODE AND THE TEXTBOOK ========================================================== Many references are made in the textbook to various subprograms of HYPLAS. These are usually made when a particular procedure described in the text is implemented in the program. The reader should refer to the textbook index. Also, a substantial number of comment lines have been added to the source code of HYPLAS with reference to sections, figures, boxes, etc of the textbook related to the part of the code in question. Such references are usually displayed after the word "REFERENCE:" (in capitals) on commented lines. Searching for this word will take you to the line of code where the particular routine has a reference to the textbook. NOTE: Occasional references to other textbooks/journal papers are also made following the word "REFERENCE:" on commented lines. 5. HYPLAS ERROR MESSAGING ====================== Most error/warning messages issued by HYPLAS are in the ASCII-format file ERROR.RUN (kept in the HYPLASHOME directory - ../HYPLAS_v2.0/bin). All such error/warning messages have an identification code (e.g. ED0015) which is printed both to the standard output (this is usually the computer screen) and to the relevant results file. If you wish to find where in the source code a particular message is being issued, then perform a search for the corresponding message identification code in the entire source code of HYPLAS. 6. FURTHER REMARKS ON HYPLAS ========================= 6.(a) Program efficiency THIS SECTION IS OF INTEREST ONLY TO THOSE WANTING TO MAKE HYPLAS RUN FASTER. It is particularly stressed in the textbook that this program has not been designed having efficiency in mind (refer to Section 5.1.2 of the textbook). Its structure has been designed mainly to illustrate in a relatively clear manner the computer implementation of the techniques and algorithms described in the text, with a particular view to the implementation of solid constitutive models and finite elements. For those who are especially interested in the speed of the code, there are a few tips that could help in this direction. Unfortunately, these involve modifications to the source code which is probably most appropriate to readers with a good level of experience in finite element programming. To those with this particular interest, we can suggest the following: (i) The use of faster linear solvers This is probably the change that would result in a greater gain in efficiency. The Frontal Method adopted in subroutine FRONT (file ../HYPLAS_v2.0/src/GENERAL/front.f) has been designed originally to save memory (back in the days when computer memory was severely limited). There are currently a vast number of methodologies which focus on speeding up the linear solution, in addition to reducing memory storage requirements (which is a particularly important issue in the solution of large scale problems). Some of these are extensions/refinements of the original Frontal solver. We remark that a number of such procedures (with their respective source codes) are available (conditions may apply) from the LAPACK (Linear Algebra PACKage - http://www.netlib.org/lapack) repository or from the HSL Library (http://www.cse.cse.scitech.ac.uk/nag/hsl). For the reader interested in gaining speed, we would recommend the replacement of the existing solver of FRONT by a faster one. We remark though that this is a substantial programming task. Another aspect here is the fact that computing times in FRONT are directly linked to the frontwidth of the system which, in the present version of HYPLAS is fixed and depends, for a given mesh, on how the degrees of freedom are numbered (node numbering). The incorporation of a frontwidth optimiser (which re-numbers the degrees of freedom in order to minimise the frontwidth) in FRONT could produce some good savings in computing times. Such savings become particularly noticeable in larger problems where the original node numbering produces an excessively large frontwidth. (ii) Material-specific computations The issues pointed out here affect only the computing times for specific material models and are expected to have a much lower impact in overall speed than the linear solver issue discussed above. Some of the material model-specific computations carried out in HYPLAS could be made a bit faster. For example, for isotropic models whose stress update is carried out in the principal stress space (such as the Tresca and Mohr-Coulomb models - see routines SUTR and SUMC, files ../HYPLAS_v2.0/src/TRESCA/sutr.f and ../HYPLAS_v2.0/MOHR_COULOMB/sumc.f, respectively) the spectral decomposition of the stress in carried out in the state update update routine and then repeated in the corresponding routine for computation of the consistent tangent operator (refer to files ../HYPLAS_v2.0/src/TRESCA/cttr.f and ../HYPLAS_v2.0/src/MOHR_COULOMB/ctmc.f, respectively, for the Tresca and Mohr-Coulomb plasticity models). Some savings in computing time can be achieved here by storing the stress eigenprojection tensors (these can be stored as state variables) during the execution of the state updating and then retrieving them later for use in the computation of the consistent tangent operator. This change can be incorporated to the code relatively easily. The computation of the exponential map and is derivative for the single crystal plasticity model (routines EXPMAP, file ../HYPLAS_v2.0/src/CRYSTAL/expmap.f and DEXPMP, file ../HYPLAS_v2.0/src/CRYSTAL/dexpmp.f) is carried out in three dimensions (these routines have been adapted from an earlier three-dimensional code). To improve efficiency, these can be adapted to work only in two-dimensional problems by removing the unnecessary operations related to the third dimension. 6.(b) Output of nodal averaged values The reader should be aware that the way in which nodal averaged values of stresses and other variables are calculated in HYPLAS is very basic (and rudimentary). This feature of the program is made available only to help those interested in producing contour plots, etc from results presented in HYPLAS result files and should be useful in many circumstances of interest. This facility has in fact been used in producing many of the figures presented in the textbook. But note, for example, that the values of incremental plastic multipliers for plasticity models may take (inadmissible) negative values when extrapolated from Gauss-point to nodes and averaged. We remark that more sophisticated and refined techniques of transferring Gauss point values of variables to nodal points and obtaining the corresponding smoothed field are available in the current literature. These fall outside the scope of the companion textbook of HYPLAS.
Date : 2011-07-29 Size : 10.5mb User : gtcewli3

Drag and Drop Component Suite Version 4.1 Field test 5, released 16-dec-2001 ?1997-2001 Angus Johnson & Anders Melander http://www.melander.dk/delphi/dragdrop/ ------------------------------------------- Table of Contents: ------------------------------------------- 1. Supported platforms 2. Installation 3. Getting started 4. Known problems 5. Support and feedback 6. Bug reports 7. Upgrades and bug fixes 8. Missing in this release 9. New in version 4.x 10. TODO 11. Licence, Copyright and Disclaimer 12. Release history ------------------------------------------- 1. Supported platforms: ------------------------------------------- This release supports Delphi 4-6 and C++ Builder 4-5. Earlier versions of Delphi and C++ Builder will not be supported. If you need Delphi 3 or C++ Builder 3 support you will have to revert to version 3.7 of the Drag and Drop Component Suite. The library has been tested on NT4 service pack 5 and Windows 2000. Windows 95, 98, ME and XP should be supported, but has not been tested. Linux and Kylix are not supported. There are *NO* plans to port the library to Kylix. The drag and drop protocols available on Linux are too much of a mess at this time. ------------------------------------------- 2. Installation: ------------------------------------------- 1) Before you do anything else, read the "Known problems" section of this document. 2) Install the source into a directory of your choice. The files are installed into three directories: DragDrop DragDrop\Components DragDrop\Demo 3) Install and compile the appropriate design time package. The design time packages are located in the Components directory. Each version of Delphi and C++ Builder has its own package; DragDropD6.dpk for Delphi 6, DragDropD5.dpk for Delphi 5, DragDropC5.bpk for C++ Builder 5, etc. 4) Add the Drag and Drop Component Suite components directory to your library path. 5) Load the demo project group: demo\dragdrop_delphi.bpg for Delphi 5 and 6 demo\dragdrop_bcb4.bpg for C++ Builder 4 demo\dragdrop_bcb5.bpg for C++ Builder 5 The project group contains all the demo applications. 6) If your version of Delphi does not support text format DFM files (e.g. Delphi 4 doesn't), you will have to use the convert.exe utility supplied with Delphi to convert all the demo form files to binary format. A batch file, convert_forms_to delphi_4_format.bat, is supplied in the demo directory which automates the conversion process. The C++ Builder demo forms are distributed in binary format. 7) If upgrading from a previous version of the Drag and Drop Component Suite, please read the document "upgrading_to_v4.txt" before you begin working on your existing projects. Note about "Property does not exist" errors: Since all demos were developed with the latest version of Delphi, most of the demo forms probably contains references to properties that doesn't exist in earlier versions of Delphi and C++ Builder. Because of this you will get fatal run-time errors (e.g. "Error reading blahblahblah: Property does not exist.") if you attemt to run the demos without fixing this problem. Luckily it is very easy to make the forms work again; Just open the forms in the IDE, then select "Ignore All" when the IDE complains that this or that property doesn't exist and finally save the forms. ------------------------------------------- 3. Getting started: ------------------------------------------- It is recommended that you start by running each of the demo applications and then look through the demo source. Each demo application is supplied with a readme.txt file which briefly describes what the demo does and what features it uses. The demos should be run in the order in which they are listed in the supplied project group. Even if you have used previous versions of the Drag and Drop Component Suite it would be a good idea to have a quick look at the demos. The library has been completely rewritten and a lot of new features has been added. ------------------------------------------- 4. Known problems: ------------------------------------------- * The Shell Extension components does not support C++ Builder 4. For some strange reason the components causes a link error. * There appear to be sporadic problems compiling with C++ Builder 5. Several user have reported that they occasionally get one or more of the following compiler errors: [C++ Error] DragDropFile.hpp(178): E2450 Undefined structure '_FILEDESCRIPTORW' [C++ Error] DropSource.hpp(135): E2076 Overloadable operator expected I have not been able to reproduce these errors, but I believe the following work around will fix the problem: In the project options of *all* projects which uses these components, add the following conditional define: NO_WIN32_LEAN_AND_MEAN The define *must* be made in the project options. It is not sufficient to #define it in the source. If you manage to compile with C++ Builder (any version), I would very much like to know about it. * Delphi's and C++ Builder's HWND and THandle types are not compatible. For this reason it might be nescessary to cast C++ Builder's HWND values to Delphi's THandle type when a HWND is passed to a function. E.g.: if (DragDetectPlus(THandle(MyControl->Handle), Point(X, Y))) { ... } * Virtual File Stream formats can only be pasted from the clipboard with live data (i.e. FlushClipboard/OleFlushClipboard hasn't been called on the data source). This problem affects TFileContentsStreamOnDemandClipboardFormat and the VirtualFileStream demo. This is believed to be a bug in the Windows clipboard and a work around hasn't been found yet. * Asynchronous targets appears to be broken in the current release. * When TDropFileTarget.GetDataOnEnter is set to True, the component doesn't work with WinZip. Although the file names are received correctly by TDropFileTarget, WinZip doesn't extract the files and the files thus can't be copied/moved. This is caused by a quirk in WinZip; Apparently WinZip doesn't like IDataObject.GetData to be called before IDropTarget.Drop is called. ------------------------------------------- 5. Support and feedback: ------------------------------------------- Since these components are freeware they are also unsupported. You are welcome to ask for help via email, but I cannot guarantee that I will have time to help you or even reply to your mail. If you absolytely can't live without my help, you can alway try bribing me. You can also try asking for help in the Delphi newsgroups. Since the Drag and Drop Component Suite is in widespread use, there's a good chance another user can help you. I recommend the following newsgroups for issues regarding this library (or COM based Drag/Drop in general): borland.public.delphi.winapi borland.public.delphi.thirdparty-tools borland.public.delphi.oleautomation borland.public.cppbuilder.winapi borland.public.cppbuilder.thirdparty-tools Please choose the most appropiate newsgroup for your question. Do not cross post to them all. Before posting to the newsgroups, I suggest you try to search for an answer on the Google (DejaNews) search engine: http://groups.google.com Chances are that your question has been asked and answered before. If you have suggestions for improvements please mail them to me: anders@melander.dk Please include the words "Drag Drop" in the subject of any email regarding these components. ------------------------------------------- 6. Bug reports: ------------------------------------------- Bugs can either be reported at my home page (http://www.melander.dk/) or mailed directly to me: anders@melander.dk. When reporting a bug, please provide the following information: * The exact version of the Drag and Drop Component Suite you are using. * The exact version of Delphi or C++ Builder you are using. * The name and exact version of your operating system (e.g. NT4 SP5). * The exact version of the Internet Explorer installed on your system. If you can provide me with a minimal application which reproduces the problem, I can almost guarantee that I will be able to fix the problem in very short time. Please supply only the source files (pas, dfm, dpr, dof, res, etc.) and mail them as a single zip file. If I need a compiled version I will ask for it. If you feel you need to send me a screen shot, please send it in GIF or PNG format. If you mail a bug report to me, please include the words "Drag Drop" in the subject of your email. ------------------------------------------- 7. Upgrades and bug fixes: ------------------------------------------- Upgrades can be downloaded from my home page: http://www.melander.dk/delphi/dragdrop/ Bug fixes will also be posted to the above page. If you have registered for update notification via the installation program, you will receive email notification when a new release is available. You will not be notified of bug fixes. You can use the installation program to check for and download new releases and to check for known bugs. Note: If a new release is made available and you are not notified even though you registered for notification, you probably mistyped your email address during installation; About 10% of all registrations supply an invalid email address. ------------------------------------------- 8. Missing in this release: ------------------------------------------- * On-line help has not been updated and included in the kit due to late changes in the Delphi 6 help system and lack of time. If time permits, I will update the help and include it in a future release. ------------------------------------------- 9. New in version 4.x: ------------------------------------------- * Completely redesigned and rewritten. Previous versions of the Drag and Drop Component Suite used a very monolithic design and flat class hierachy which made it a bit cumbersome to extend the existing components or implement new ones. Version 4 is a complete rewrite and redesign, but still maintains compatibility with previous versions. The new V4 design basically separates the library into three layers: 1) Clipboard format I/O. 2) Data format conversion and storage. 3) COM Drag/Drop implementation and VCL component interface. The clipboard format layer is responsible for reading and writing data in different formats to and from an IDataObject interface. For each different clipboard format version 4 implements a specialized class which knows exactly how to interpret the clipboard format. For example the CF_TEXT (plain text) clipboard format is handled by the TTextClipboardFormat class and the CF_FILE (file names) clipboard format is handled by the TFileClipboardFormat class. The data format layer is primarily used to render the different clipboard formats to and from native Delphi data types. For example the TTextDataFormat class represents all text based clipboard formats (e.g. TTextClipboardFormat) as a string while the TFileDataFormat class represents a list of file names (e.g. TFileClipboardFormat) as a string list. The conversion between different data- and clipboard formats is handled by the same Assign/AssignTo mechanism as the VCLs TPersistent employes. This makes it possible to extend existing data formats with support for new clipboard formats without modification to the existing classes. The drag/drop component layer has several tasks; It implements the actual COM drag/drop functionality (i.e. it implements the IDropSource, IDropTarget and IDataObject interfaces (along with several other related interfaces)), it surfaces the data provided by the data format layer as component properties and it handles the interaction between the whole drag/drop framework and the users code. The suite provides a multitude of different components. Most are specialized for different drag/drop tasks (e.g. the TDropFileTarget and TDropFilesSource components for drag/drop of files), but some are either more generic, handling multiple unrelated formats, or simply helper components which are used to extend the existing components or build new ones. * Support for Delphi 6. Version 4.0 was primarily developed on Delphi 6 and then ported back to previous versions of Delphi and C++ Builder. * Support for Windows 2000 inter application drag images. On Windows platforms which supports it, drag images are now displayed when dragging between applications. Currently only Windows 2000 supports this feature. On platforms which doesn't support the feature, drag images are only displayed whithin the source application. * Support for Windows 2000 asynchronous data transfers. Asynchronous data tranfers allows the drop source and targets to perform slow transfers or to transfer large amounts of data without blocking the user interface while the data is being transfered. For platforms other than Windows 2000, the new TDropSourceThread class can be used to provide similar (but more limited) asynchronous data transfer capabilities. * Support for optimized and non-optimized move. When performing drag-move operations, it is now possible to specify if the target (optimized move) or the source (non-optimized move) is responsible for deleting the source files. * Support for delete-on-paste. When data is cut to the clipboard, it is now possible to defer the deletion of the source data until the target actually pastes the data. The source is notified by an event when the target pastes the data. * Extended clipboard support. All formats and components (both source and target) now support clipboard operations (copy/cut/paste) and the VCL clipboard object. * Support for shell drop handlers. The new TDropHandler component can be used to write drop handler shell extensions. A drop handler is a shell extension which is executed when a user drags and drops one or more files on a file associated wth your application. * Support for shell drag drop handlers. The new TDragDropHandler component can be used to write drag drop handler shell extensions. A drag drop handler is a shell extension which can extend the popup menu which is displayed when a user drag and drops files with the right mouse button. * Support for shell context menu handlers. The new TDropContextMenu component can be used to write context menu handler shell extensions. A context menu handler is a shell extension which can extend the popup menu which is displayed when a user right-clicks a file in the shell. * Drop sources can receive data from drop targets. It is now possible for drop targets to write data back to the drop source. This is used to support optimized-move, delete-on-paste and inter application drag images. * Automatic re-registration of targets when the target window handle is recreated. In previous versions, target controls would loose their ability to accept drops when their window handles were recreated by the VCL (e.g. when changing the border style or docking a form). This is no longer a problem. * Support for run-time definition of custom data formats. You can now add support for new clipboard formats without custom components. * Support for design-time extension of existing source and target components. Using the new TDataFormatAdapter component it is now possible to mix and match data formats and source and target components at design time. E.g. the TDropFileTarget component can be extended with URL support. * It is now possible to completely customize the target auto-scroll feature. Auto scroling can now be completely customized via the OnDragEnter, OnDragOver, OnGetDropEffect and OnScroll events and the public NoScrollZone and published AutoScroll properties. * Multiple target controls per drop target component. In previous versions you had to use one drop target component per target control. With version 4, each drop target component can handle any number of target controls. * It is now possible to specify the target control at design time. A published Target property has been added to the drop target components. * Includes 20 components: - TDropFileSource and TDropFileTarget Used for drag and drop of files. Supports recycle bin and PIDLs. - TDropTextSource and TDropTextTarget Used for drag and drop of text. - TDropBMPSource and TDropBMPTarget Used for drag and drop of bitmaps. - TDropPIDLSource and TDropPIDLTarget Used for drag and drop of PIDLs in native format. - TDropURLSource and TDropURLTarget Used for drag and drop of internet shortcuts. - TDropDummyTarget Used to provide drag/drop cursor feedback for controls which aren't registered as drop targets. - TDropComboTarget (new) Swiss-army-knife target. Accepts text, files, bitmaps, meta files, URLs and file contents. - TDropMetaFileTarget (new) Target which can accept meta files and enhanced meta files. - TDropImageTarget (new) Target which can accept bitmaps, DIBs, meta files and enhanced meta files. - TDragDropHandler (new) Used to implement Drag Drop Handler shell extensions. - TDropHandler (new) Used to implement Shell Drop Handler shell extensions. - TDragDropContext (new) Used to implement Shell Context Menu Handler shell extensions. - TDataFormatAdapter (new) Extends the standard source and target components with support for extra data formats. An alternative to TDropComboTarget. - TDropEmptySource and TDropEmptyTarget (new) Target and source components which doesn't support any formats, but can be extended with TDataFormatAdapter components. * Supports 27 standard clipboard formats: Text formats: - CF_TEXT (plain text) - CF_UNICODETEXT (Unicode text) - CF_OEMTEXT (Text in the OEM characterset) - CF_LOCALE (Locale specification) - 'Rich Text Format' (RTF text) - 'CSV' (Tabular spreadsheet text) File formats: - CF_HDROP (list of file names) - CF_FILEGROUPDESCRIPTOR, CF_FILEGROUPDESCRIPTORW and CF_FILECONTENTS (list of files and their attributes and content). - 'Shell IDList Array' (PIDLs) - 'FileName' and 'FileNameW' (single filename, used for 16 bit compatibility). - 'FileNameMap' and 'FileNameMapW' (used to rename files, usually when dragging from the recycle bin) Image formats: - CF_BITMAP (Windows bitmap) - CF_DIB (Device Independant Bitmap) - CF_METAFILEPICT (Windows MetaFile) - CF_ENHMETAFILE (Enhanced Metafile) - CF_PALETTE (Bitmap palette) Internet formats: - 'UniformResourceLocator' and 'UniformResourceLocatorW' (Internet shortcut) - 'Netscape Bookmark' (Netscape bookmark/URL) - 'Netscape Image Format' (Netscape image/URL) - '+//ISBN 1-887687-00-9::versit::PDI//vCard' (V-Card) - 'HTML Format' (HTML text) - 'Internet Message (rfc822/rfc1522)' (E-mail message in RFC822 format) Misc. formats: - CF_PREFERREDDROPEFFECT and CF_PASTESUCCEEDED (mostly used by clipboard) - CF_PERFORMEDDROPEFFECT and CF_LOGICALPERFORMEDDROPEFFECT (mostly used for optimized-move) - 'InShellDragLoop' (used by Windows shell) - 'TargetCLSID' (Mostly used when dragging to recycle-bin) * New source events: - OnGetData: Fired when the target requests data. - OnSetData: Fired when the target writes data back to the source. - OnPaste: Fired when the target pastes data which the source has placed on the clipboard. - OnAfterDrop: Fired after the drag/drop operation has completed. * New target events: - OnScroll: Fires when the target component is about to perform auto-scroll on the target control. - OnAcceptFormat: Fires when the target component needs to determine if it will accept a given data format. Only surfaced in the TDropComboTarget component. * 8 new demo applications, 19 in total. ------------------------------------------- 10. TODO (may or may not be implemented): ------------------------------------------- * Async target demo (with and without IAsyncOperation support). * Scrap file demo. * Native Outlook message format. * Structured storage support (IStorage encapsulation). ------------------------------------------- 11. Licence, Copyright and Disclaimer: ------------------------------------------- The Drag and Drop Component Suite is Copyright ?1997-2001 Angus Johnson and Anders Melander. All rights reserved. The software is copyrighted as noted above. It may be freely copied, modified, and redistributed, provided that the copyright notice(s) is preserved on all copies. The Drag and Drop Component Suite is freeware and we would like it to remain so. This means that it may not be bundled with commercial libraries or sold as shareware. You are welcome to use it in commercial and shareware applications providing you do not charge for the functionality provided by the Drag and Drop Component Suite. There is no warranty or other guarantee of fitness for this software, it is provided solely "as is". You are welcome to use the source to make your own modified components, and such modified components may be distributed by you or others if you include credits to the original components, and do not charge anything for your modified components. ------------------------------------------- 12. Version 4 release history: ------------------------------------------- 16-dec-2001 * Ported to C++ Builder 4. * Released for test as v4.1 FT5. 12-dec-2001 * Fixed C++ Builder name clash between TDropComboTarget.GetMetaFile and the GetMetaFile #define in wingdi.h 1-dec-2001 * The IAsyncOperation interface is now also declared as IAsyncOperation2 and all references to IAsyncOperation has been replaced with IAsyncOperation2. This was done to work around a bug in C++ Builder. Thanks to Jonathan Arnold for all his help with getting the components to work with C++ Builder. Without Jonathan's help version 4.1 would prabably have shipped witout C++ Builder support and certainly without any C++ Builder demos. * Demo applications for C++ Builder. The C++ Builder demos were contributed by Jonathan Arnold. 27-nov-2001 * TCustomDropTarget.Droptypes property renamed to DropTypes (notice the case). Thanks to Krystian Brazulewicz for spotting this. 24-nov-2001 * The GetURLFromString function in the DragDropInternet unit has been made public due to user request. 21-nov-2001 * Modified MakeHTML function to comply with Microsoft's description of the CF_HTML clipboard format. * Added MakeTextFromHTML function to convert CF_HTML data to plain HTML. Provides the reverse functionality of MakeHTML. * Added HTML support to TTextDataFormat class and TDropTextSource and TDropTextTarget components. * Fixed C++ Builder 5 problem with IAsyncOperation. * Released for test as v4.1 FT4. 10-nov-2001 * Added NetscapeDemo demo application. Demonstrates how to receive messages dropped from Netscape. This demo was sponsored by ThoughtShare Communications Inc. * Released for test as v4.1 FT3. 23-oct-2001 * Conversion priority of TURLDataFormat has been changed to give the File Group Descritor formats priority over the Internet Shortcut format. This resolves a problem where dropping an URL on the desktop would cause the desktop to assume that an Active Desktop item was to be created instead of an Internet Shortcut. Thanks to Allen Martin for reporting this problem. By luck this modification also happens to work around a bug in Mozilla and Netscape 6; Mozilla incorrectly supplies the UniformResourceLocator clipboard format in unicode format instead of ANSI format. Thanks to Florian Kusche for reporting this problem. * Added support for TFileGroupDescritorWClipboardFormat to TURLDataFormat. * Added declaration of FD_PROGRESSUI to DragDropFormats. * Added TURLWClipboardFormat which implements the "UniformResourceLocatorW" (a.k.a. CFSTR_INETURLW) clipboard format. Basically a Unicode version of CFSTR_SHELLURL/CFSTR_INETURL. The TURLWClipboardFormat class isn't used anywhere yet but will probably be supported by TURLDataFormat (and thus TDropURLTarget/TDropURLSource) in a later release. * Added experimental Shell Drag Image support. This relies on undodumented shell32.dll functions and probably won't be fully support before v4.2 (if ever). See InitShellDragImage in DropSource.pas. Thanks to Jim Kueneman for bringning these functions to my attention. 13-oct-2001 * TCustomDropSource.Destroy and TCustomDropMultiSource.Destroy changed to call FlushClipboard instead of EmptyClipboard. This means that clipboard contents will be preserved when the source application/component is terminated. * Added clipboard support to VirtualFileStream demo. * Modified VirtualFileStream demo to work around clipboard quirk with IStream medium. * Modified TCustomSimpleClipboardFormat to disable TYMED_ISTORAGE support by default. At present TYMED_ISTORAGE is only supported for drop targets and enabling it by default in TCustomSimpleClipboardFormat.Create caused a lot of clipboard operations (e.g. copy/paste of text) to fail. Thanks to Michael J Marshall for bringing this problem to my attention. * Modified TCustomSimpleClipboardFormat to read from the the TYMED_ISTREAM medium in small (1Mb) chunks and via a global memory buffer. This has resultet in a huge performance gain (several orders of magnitude) when transferring large amounts of data via the TYMED_ISTREAM medium. 3-oct-2001 * Fixed bug in TCustomDropSource.SetImageIndex. Thanks to Maxim Abramovich for spotting this. * Added missing default property values to TCustomDropSource. Thanks to Maxim Abramovich for spotting this. * DragDrop.pas and DragDropContext.pas updated for Delphi 4. * Reimplemented utility to convert DFM form files from Delphi 5/6 test format to Delphi 4/5 binary format. * Improved unregistration of Shell Extensions. Shell extension now completely (and safely) remove their registry entries when unregistered. * Deprecated support for C++ Builder 3. * Released for test as v4.1 FT2. 25-sep-2001 * Rewritten ContextMenuHandlerShellExt demo. The demo is now actually a quite useful utility which can be used to register and unregister ActiveX controls, COM servers and type libraries. It includes the same functionality as Borland's TRegSvr utility. 20-sep-2001 * Added support for cascading menus, ownerdraw and menu bitmaps to TDropContextMenu component. * Modified TFileContentsStreamOnDemandClipboardFormat to handle invalid parameter value (FormatEtcIn.lindex) when data is copied to clipboard. This works around an apparent bug in the Windows clipboard. Thanks to Steve Moss for reporting this problem. * Modified TEnumFormatEtc class to not enumerate empty clipboard formats. Thanks to Steve Moss for this improvement. 1-sep-2001 * Introduced TCustomDropTarget.AutoRegister property. The AutoRegister property is used to control if drop target controls should be automatically unregistered and reregistered when their window handle is recreated by the VCL. If AutoRegister is True, which is the default, then automatic reregistration will be performed. This property was introduced because the hidden child control, which is used to monitor the drop target control's window handle, can have unwanted side effects on the drop target control (e.g. TToolBar). * Deprecated support for Delphi 3. 22-jun-2001 * Redesigned TTextDataFormat to handle RTF, Unicode, CSV and OEM text without conversion. Moved TTextDataFormat class to DragDropText unit. Added support for TLocaleClipboardFormat. * Surfaced new text formats as properties in TDropTextSource and TDropTextTarget. Previous versions of the Text source and target components represented all supported text formats via the Text property. In order to enable users to handle the different text formats independantly, the text source and target components now has individual properties for ANSI, OEM, Unicode and RTF text formats. The text target component can automatically synthesize some of the formats from the others (e.g. OEM text from ANSI text), but applications which previously relied on all formats being represented by the Text property will have to be modified to handle the new properties. * Added work around for problem where TToolBar as a drop target would display the invisible target proxy window. * Fixed wide string bug in WriteFilesToZeroList. Thanks to Werner Lehmann for spotting this. 15-jun-2001 * Added work-around for Outlook Express IDataObject.QueryGetData quirk. 3-jun-2001 * Ported to C++ Builder 4 and 5. * Added missing DragDropDesign.pas unit to design time packages. * First attempt at C++ Builder 3 port.... failed. * Improved handling of oversized File Group Descriptor data. * Added support for IStorage medium to TFileContentsStreamClipboardFormat. This allows the TDropComboTarget component to accept messages dropped from Microsoft Outlook. This work was sponsored by ThoughtShare Communications Inc. 23-may-2001 * Ported to Delphi 4. * First attempt at C++ Builder 5 port.... failed. 18-may-2001 * Released as version 4.0. Note: Version 4.0 was released exclusively on the Delphi 6 Companion CD. * ContextMenuDemo and DropHandlerDemo application has been partially rewritten and renamed. ContextMenuDemo is now named ContextMenuHandlerShellExt. DropHandlerDemo is now named DropHandlerShellExt. * TDropContextMenu component has been rewitten. The TDropContextMenu now implements a context menu handler shell extension. In previous releases it implemented a drag drop handler shell extension. * The DragDropHandler.pas unit which implements the TDropHandler component has been renamed to DropHandler.pas. * Added new TDragDropHandler component. The new component, which lives in the DragDropHandler unit, is used to implement drag drop handler shell extensions. * Added DragDropHandlerShellExt demo application. * Removed misc incomplete demos from kit. * Fixed minor problem in VirtualFileStream demo which caused drops from the VirtualFile demo not to transfer content correctly. 11-may-2001 * Converted all demo forms to text DFM format. This has been nescessary to maintain compatibility between all supported versions of Delphi. * Fixed a bug in GetPIDLsFromFilenames which caused drag-link of files (dtLink with TDropFileSource) not to work. * Added readme.txt files to some demo applications. * Added missing tlb and C++ Builder files to install kit. * Released as FT4. 6-may-2001 * Added missing dfm files to install kit. * Tested with Delphi 5. Fixed Delphi 5 compatibility error in main.dfm of DragDropDemo. * Removed misc compiler warnings. * The AsyncTransferTarget and OleObjectDemo demos were incomplete and has been removed from the kit for the V4.0 release. The demos will be included in a future release. * Released as FT3. 3-may-2001 * Added missing dpr and bpg files to install kit. * Updated readme.txt with regard to lack of C++ Builder demos. * Released as FT2. 29-apr-2001 * Cleaned up for release. * Released as FT1. 23-feb-2001 * Modified TCustomDropTarget.FindTarget to handle overlapping targets (e.g. different targets at the same position but on different pages of a page control or notebook). Thanks to Roger Moe for spotting this problem. 13-feb-2001 * Renamed AsyncTransfer2 demo to AsyncTransferSource. * Added AsyncTransferTarget demo. * Replaced TChart in AsyncTransfer2 demo with homegrown pie-chart-thing. * Modified all IStream based target formats to support incremental transfer. * URW533 problem has finally been fixed. The cause of the problem, which is a bug in Delphi, was found by Stefan Hoffmeister. * Fixed free notification for TDropContextmenu and TDataFormatAdapter. 27-dec-2000 * Moved TVirtualFileStreamDataFormat and TFileContentsStreamOnDemandClipboardFormat classes from VirtualFileStream demo to DragDropFormats unit. * Added TClipboardFormat.DataFormat and TClipboardFormats.DataFormat property. * Added TDropEmptySource and TDropEmptyTarget components. These are basically do-nothing components for use with TDataFormatAdapter. * Rewritten AsyncTransfer2 demo. The demo now uses TDropEmptySource, TDataFormatAdapter and TVirtualFileStreamDataFormat to transfer 10Mb of data with progress feedback. * Rewritten VirtualFileStream demo. The demo now uses TDropEmptySource, TDropEmptyTarget, TDataFormatAdapter and TVirtualFileStreamDataFormat. * Fixed memory leak in TVirtualFileStreamDataFormat. This leak only affected the old VirtualFileStream demo. * Added support for full File Descriptor attribute set to TVirtualFileStreamDataFormat. It is now possible to specify file attributes such as file size and last modified time in addition to the filename. I plan to add similar features to the other classes which uses FileDescriptors (e.g. TDropFileSource and TDropFileTarget). 21-dec-2000 * Ported to Delphi 4. * Added workaround for design bug in either Explorer or the clipboard. Explorer and the clipboard's requirements to the cursor position of an IStream object are incompatible. Explorer requires the cursor to be at the beginning of stream and the clipboard requires the cursor to be at the end of stream. 15-dec-2000 * Fixed URW533 problem. I'll leave the description of the workaround in here for now in case the problem resurfaces. 11-dec-2000 * Fixed bug in filename to PIDL conversion (GetPIDLsFromFilenames) which affected TDropFileTarget. Thanks to Poul Halgaard J鴕gensen for reporting this. 4-dec-2000 * Added THTMLDataFormat. * Fixed a a few small bugs which affected clipboard operations. * Added {$ALIGN ON} to dragdrop.inc. Apparently COM drag/drop requires some structures to be word alligned. This change fixes problems where some of the demos would suddenly stop working. * The URW533 problem has resurfaced. See the "Known problems" section below. 13-nov-2000 * TCopyPasteDataFormat has been renamed to TFeedbackDataFormat. * Added support for the Windows 2000 "TargetCLSID" format with the TTargetCLSIDClipboardFormat class and the TCustomDropSource.TargetCLSID property. * Added support for the "Logical Performed DropEffect" format with the TLogicalPerformedDropEffectClipboardFormat class. The class is used internally by TCustomDropSource. 30-oct-2000 * Added ContextMenu demo and TDropContextMenu component. Demonstrates how to customize the context menu which is displayed when a file is dragged with the right mouse button and dropped in the shell. * Added TCustomDataFormat.GetData. With the introduction of the GetData method, Data Format classes can now be used stand-alone to extract data from an IDataObject. 20-oct-2000 * Added VirtualFileStream demo. Demonstrates how to use the "File Contents" and "File Group Descritor" clipboard formats to drag and drop virtual files (files which doesn't exist physically) and transfer the data on-demand via a stream. 14-oct-2000 * Added special drop target registration of TCustomRichEdit controls. TCustomRichEdit needs special attention because it implements its own drop target handling which prevents it to work with these components. TCustomDropTarget now disables a rich edit control's built in drag/drop handling when the control is registered as a drop target. * Added work around for Windows bug where IDropTarget.DragOver is called regardless that the drop has been rejected in IDropTarget.DragEnter. 12-oct-2000 * Fixed bug that caused docking to interfere with drop targets. Thanks to G. Bradley MacDonald for bringing the problem to my attention. 30-sep-2000 * The DataFormats property has been made public in the TCustomDropMultiTarget class. * Added VirtualFile demo. Demonstrates how to use the TFileContentsClipboardFormat and TFileGroupDescritorClipboardFormat formats to drag and drop a virtual file (a file which doesn't exist physically). 28-sep-2000 * Improved drop source detection of optimized move. When an optimized move is performed by a drop target, the drop source's Execute method will now return drDropMove. Previously drCancel was returned. The OnAfterDrop event must still be used to determine if a move operation were optimized or not. * Modified TCustomDropTarget.GetPreferredDropEffect to get data from the current IDataObject instead of from the VCL global clipboard. 18-sep-2000 * Fixed bug in DropComboTarget caused by the 17-sep-2000 TStreams modification. 17-sep-2000 * Added AsyncTransfer2 demo to demonstrate use of TDropSourceThread. * Renamed TStreams class to TStreamList. 29-aug-2000 * Added TDropSourceThread. TDropSourceThread is an alternative to Windows 2000 asynchronous data transfers but also works on other platforms than Windows 2000. TDropSourceThread is based on code contributed by E. J. Molendijk. 24-aug-2000 * Added support for Windows 2000 asynchronous data transfers. Added IAsyncOperation implementation to TCustomDropSource. Added TCustomDropSource.AllowAsyncTransfer and AsyncTransfer properties. 5-aug-2000 * Added work around for URW533 compiler bug. * Fixed D4 and D5 packages and updated a few demos. Obsolete DropMultiTarget were still referenced a few places. * Documented work around for C++ Builder 5 compiler error. See the Known Problems section later in this document for more information. 2-aug-2000 * The package files provided in the kit is now design-time only packages. In previous versions, the packages could be used both at design- and run-time. The change was nescessary because the package now contains design-time code. * Added possible work around for suspected C++ Builder bug. The bug manifests itself as a "Overloadable operator expected" compile time error. See the "Known problems" section of this document. * Rewrote CustomFormat1 demo. * Added CustomFormat2 demo. * TDataDirection members has been renamed from ddGet and ddSet to ddRead and ddWrite. * All File Group Descritor and File Contents clipboard formats has been moved from the DragDropFile unit to the DragDropFormats unit. * File Contents support has been added to TTextDataFormat. The support is currently only enabled for drop sources. * Renamed TDropMultiTarget component to TDropComboTarget. Note: This will break applications which uses the TDropMultiTarget component. You can use the following technique to port application from previous releases: 1) Install the new components. 2) Repeat step 3-8 for all units which uses the TDropMultiTarget component. 3) Make a backup of the unit (both pas and dfm file) just in case... 4) Open the unit in the IDE. 5) In the .pas file, replace all occurances of "TDropMultiTarget" with "TDropComboTarget". 6) View the form as text. 7) Replace all occurances of "TDropMultiTarget" with "TDropComboTarget". 8) Save the unit. * Renamed a lot of demo files and directories. * Added work around for yet another bug in TStreamAdapter. * Added TCustomStringClipboardFormat as new base class for TCustomTextClipboardFormat. This changes the class hierachy a bit for classes which previously descended from TCustomTextClipboardFormat: All formats which needs zero termination now descend from TCustomTextClipboardFormat and the rest descend from TCustomStringClipboardFormat. Added TrimZeroes property. Fixed zero termination bug in TCustomTextClipboardFormat and generally improved handling of zero terminated strings. Disabled zero trim in TCustomStringClipboardFormat and enabled it in TCustomTextClipboardFormat. 23-jul-2000 * Improved handling of long file names in DropHandler demo. Added work around for ParamStr bug. * Added TDataFormatAdapter component and adapter demo. TDataFormatAdapter is used to extend the existing source and target components with additional data format support without modifying them. It can be considered an dynamic alternative to the current TDropMultiTarget component. 17-jul-2000 * TDropHandler component and DropHandler demo fully functional. 14-jul-2000 * Tested with C++ Builder 5. * Fixed sporadic integer overflow bug in DragDetectPlus function. * Added shell drop handler support with TDropHandler component. This is a work in progress and is not yet functional. 1-jul-2000 * Tested with Delphi 4. * Support for Windows 2000 inter application drag images. * TRawClipboardFormat and TRawDataFormat classes for support of arbitrary unknown clipboard formats. The classes are used internally in the TCustomDropSource.SetData method to support W2K drag images.
Date : 2011-12-21 Size : 2.03mb User : smj_9547

OCR算法代码。这不是一个完整的系统,没法生成可执行程序。代码基于Linux/KDE开发,用到了C++标准模板库。代码的目的是向读者展示一个OCR系统包括哪些部分,如何工作, 读者可以借鉴这些代码,改动后用到自己的系统中。由于这是从一个完整的OCR系统中抽取的部分代码,所以这些代码无法单独编译。 两个*.dat文件如下: char_data.dat:字符特征数据 words_de.dat:词库(后处理用)-OCR algorithm code. This is not a complete system, we can not generate executable. Based on the Linux code/KDE development, use the C standard template library. The code is intended to show readers an OCR system, including which parts work, readers can learn from these code changes after their use in the system. As this is from a complete OCR system taking part code, so code can not be compiled separately. 2*. dat following documents : char_data.dat : Character Feature Data words_de.dat : Thesaurus (reprocessing spent)
Date : Size : 853kb User : 小智

linux一个flash的lib,直接使用3d加速接口的解析库,一般给game使用用来做很炫的界面,有直接c++的接口-a flash of lib, direct use of the 3d acceleration interface for analytic generally to the game so cool to use interface, the interface directly c
Date : Size : 10.26mb User : zhangwensheng

The STEPNCWrite library writes STEP-NC toolpath data (AP-238 CC1). This C++ library is completely open-source and has been released under the GNU General Public License (GPL). The library writes data in XML format (ISO 10303-28) using just printf(), so it does not depend on any STEP toolkit. It has no other dependencies and should build on Windows, Linux, Mac, or any other Unix platform. If you want to view your toolpath files, you can use the open-source Java AP-238 Toolpath Viewer. For more sophisticated applications, we encourage you to look at our commercial product, the STEP-NC Explorer which can display workpiece, fixture, and tool geometry as well as the paths, simulate their operation and convert -STEPNCWrite writes STEP-NC to olpath data (AP-238 CC1). This C library is comp letely open-source and has been released under the GNU General Public License (GPL). The libra ry writes data in XML format (ISO 10303-28) usin g just printf (), so it does not depend on any STEP toolkit. It has n o other dependencies and should build on Window s, Linux, Mac, or any other Unix platform. If you want to view yo ur toolpath files, you can use the open-source Java AP-238 Toolpat h Viewer. For more sophisticated applications , we encourage you to look at our commercial pro duct , the STEP-NC Explorer which can display workp iece, fixture , and tool geometry as well as the paths , simulate their operation and convert
Date : Size : 98kb User : 易力

dget是一个基于Linux平台的多线程下载工具, 采用C++开发。主要支持FTP, HTTP, MMS, RTSP协议下载, 目前为止主要实现了FTP, HTTP, MMS,RTSP协议的多线程下载。-dget is a Linux-based platform for multi-threaded Download tool C development. Major support FTP, HTTP, MMS, RTSP downloaded so far, the main FTP, HTTP, MMS, RTSP multithreading download.
Date : Size : 271kb User : shine.c

Suck Wrappers are a set of UNIX script files that sets up inn, an NNTP server, on a local machine so that suck can communicate with a News server supplied by an ISP . It also installs a set of wrapper scripts (based on the sample scripts provided with the suck tar ball) that call suck with the correct settings to communicate with an ISP on a linux machine. (Tested on Redhat 7.2 and 9). -Suck Wrappers are a set of UNIX script files that sets up inn, an NNTP server, on a local machine so that suck can communicate w News praxiology a server supplied by an ISP. It also inst alls a set of wrapper scripts (based on the sampl e scripts provided with the suck tar ball) that c all suck with the correct settings to communica te with an ISP on a Linux machine. (Tested on Redh at 7.2 and 9).
Date : Size : 24kb User : lococo

DL : 0
SciTE,一款很好用的编辑器,支持众多的脚本,比如c、C++、C#、perl、html、css、java等等。免费而且开源。支持linux和win32环境。在windows下面只需要将下载的文件解压缩就能使用。 较其它同重量级软件,最耀眼的就是导出功能,可以导出 PDF/HTML/RTF/XML/LaTex 类型的文件,直接就能将语法高亮的内容导出。就是对汉字支持不稳定,选取汉字字符时,有时会出现乱码。-SciTE, a very good editor used to support a large number of scripts, such as c, C++, C#, Perl, html, css, java and so on. Free and open source. Support for linux and win32 environment. In the following windows only need to unzip the downloaded file will be able to use. With heavy-weight than other software, most dazzling is the export function, you can export PDF/HTML/RTF/XML/LaTex types of files directly will be able to export the contents of syntax highlighting. Chinese support is unstable, select Chinese characters, the sometimes garbled.
Date : Size : 840kb User : 吴李涛

解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。-Analytical Analysis of XML libraries, can be used to C++, Can be compiled in Windows or Linux. The analytic model of the Treasury through the analysis XML document, and then generated in memory DOM model, so we are very convenient XML tree traversal tree.
Date : Size : 235kb User : 123456

DL : 0
在linux下进行C开发的教程,做嵌入式的要看看哦-In C under linux development tutorial, so embedded to look at the oh
Date : Size : 166kb User : ferry

在为 Linux 开发应用程序时,绝大多数情况下使用的都是 C 语言,因此几乎每一位 Linux程序员面临的首要问题都是如何灵活运用 C 编译器。目前 Linux 下最常用的C 语言编译器是 GCC(GNU Compiler Collection),它是 GNU项目中符合 ANSI C 标准的编译系统,能够编译用C、C++和Object C 等语言编写的程序。GCC 不仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如 Java、 Fort ran、Pascal、Modula-3和 Ada等。 -In developing applications for Linux, the vast majority of cases are used in C language, so almost every Linux programmer facing a primary problems are how to make flexible use of C compiler. Linux is currently the most commonly used C language compiler is a GCC (GNU Compiler Collection), it is the GNU project in line with the standard ANSI C compiler system, able to compile with C, C++ And Object C language, such as procedures. GCC is not only very powerful, flexible structure is also abnormal. The most commendable is that it can through a variety of front-end module to support a variety of languages such as Java, Fort ran, Pascal, Modula-3 and Ada, etc..
Date : Size : 134kb User : 蕊儿

基于C++的轻量级UI设计库,由于它同时支持在Windows和Linux,所以对跨平台使用非常有用。-Based on the C++ Lightweight UI design libraries, because of its support in Windows and Linux, so cross-platform use of very useful.
Date : Size : 3.16mb User : 严寒与

DL : 0
这本白皮书介绍了QT C++工具包。QT支持多种平台图形界面程序开发,有“一次编 写,处处编译”的说法。使用单一的源代码树和简单的重编译,能够在Windows95~XP , Mac OS X,Linux, Solaris,HP-UX,和其他使用X11的Unix版本下编制程序。QT应用 程序还可以编译成可在嵌入型环境中运行。QT采用统一的被称为“对象与槽”的机制进行 对象间通信。QT拥有对许多编程领域的完美支持:如2D/3D图形,国际化,XML等。 QT应用程序还可以用QT Dsigner进行可视化设计.-This White Paper has introduced the QT C++ tool kit. Supporting multiple platforms QT GUI development, there is " write once, compile everywhere" argument. Using a single source tree and a simple re-compile, can at Windows95 ~ XP, Mac OS X, Linux, Solaris, HP-UX, and others using the X11 version of the Unix programming. QT applications can also be compiled in the embedded-type environment. QT a uniform known as the " object and groove" mechanism for inter-object communications. QT has a lot of programming on the field of perfect support: such as 2D/3D graphics, internationalization, XML and so on. QT applications can also use QT Dsigner for visual design
Date : Size : 569kb User : zhanghua

The MINI2440 is an effecient ARM9 development board with a comprehensive price, it characterizes simple method and high performance-price ratio. Based on the Samsung S3C2440 microprocessor, it embodies professional stable CPU core power source chip and reset chip to ensure the stability of the system operation. The PCB on the MINI2440 board is designed to be 4-layers board, adopting the ENIG technology and professional equal-length wiring to ensure the completeness of the signals of the key signal wires and manufactured and released under stringent quality control plans. With the help of this detailed manual, users are supposed to become proficient in the development process of embedded Linux and WinCE operating system, they are supposed to get the foundation, so long as they have obtained the basic and necessary knowledge about the C language, in two weeks.-The MINI2440 is an effecient ARM9 development board with a comprehensive price, it characterizes simple method and high performance-price ratio. Based on the Samsung S3C2440 microprocessor, it embodies professional stable CPU core power source chip and reset chip to ensure the stability of the system operation. The PCB on the MINI2440 board is designed to be 4-layers board, adopting the ENIG technology and professional equal-length wiring to ensure the completeness of the signals of the key signal wires and manufactured and released under stringent quality control plans. With the help of this detailed manual, users are supposed to become proficient in the development process of embedded Linux and WinCE operating system, they are supposed to get the foundation, so long as they have obtained the basic and necessary knowledge about the C language, in two weeks.
Date : Size : 312kb User : Thiago
« 1 2 3 4 56 7 8 »
CodeBus is one of the largest source code repositories on the Internet!
Contact us :
1999-2046 CodeBus All Rights Reserved.