w_email_send_new.srw 135 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409
  1. $PBExportHeader$w_email_send_new.srw
  2. forward
  3. global type w_email_send_new from w_publ_base
  4. end type
  5. type cb_save from uo_imflatbutton within w_email_send_new
  6. end type
  7. type cb_fj from uo_imflatbutton within w_email_send_new
  8. end type
  9. type cb_change from uo_imflatbutton within w_email_send_new
  10. end type
  11. type lv_fj from uo_email_lv within w_email_send_new
  12. end type
  13. type cb_6 from commandbutton within w_email_send_new
  14. end type
  15. type cb_7 from commandbutton within w_email_send_new
  16. end type
  17. type cb_9 from commandbutton within w_email_send_new
  18. end type
  19. type cbx_1 from checkbox within w_email_send_new
  20. end type
  21. type cb_1 from commandbutton within w_email_send_new
  22. end type
  23. type cb_2 from uo_imflatbutton within w_email_send_new
  24. end type
  25. type cb_fornextsend from uo_imflatbutton within w_email_send_new
  26. end type
  27. type st_1 from statictext within w_email_send_new
  28. end type
  29. type em_priority from editmask within w_email_send_new
  30. end type
  31. type st_2 from statictext within w_email_send_new
  32. end type
  33. type st_3 from statictext within w_email_send_new
  34. end type
  35. type st_4 from statictext within w_email_send_new
  36. end type
  37. type st_5 from statictext within w_email_send_new
  38. end type
  39. type st_6 from statictext within w_email_send_new
  40. end type
  41. type st_7 from statictext within w_email_send_new
  42. end type
  43. type st_9 from statictext within w_email_send_new
  44. end type
  45. type sle_subject from singlelineedit within w_email_send_new
  46. end type
  47. type st_10 from statictext within w_email_send_new
  48. end type
  49. type sle_mailuser from statictext within w_email_send_new
  50. end type
  51. type sle_mailaddress from statictext within w_email_send_new
  52. end type
  53. type sle_mailtype from statictext within w_email_send_new
  54. end type
  55. type em_mailsize from statictext within w_email_send_new
  56. end type
  57. type sle_opemp from statictext within w_email_send_new
  58. end type
  59. type em_opdate from statictext within w_email_send_new
  60. end type
  61. type em_senddate from statictext within w_email_send_new
  62. end type
  63. type sp_v1 from u_lbs_stsplitbar within w_email_send_new
  64. end type
  65. type cb_3 from uo_imflatbutton within w_email_send_new
  66. end type
  67. type cb_4 from uo_imflatbutton within w_email_send_new
  68. end type
  69. type uo_html from uo_html_editor within w_email_send_new
  70. end type
  71. type st_11 from uo_text_m within w_email_send_new
  72. end type
  73. type pb_1 from picturebutton within w_email_send_new
  74. end type
  75. type ddlb_normalflag from dropdownlistbox within w_email_send_new
  76. end type
  77. type st_8 from statictext within w_email_send_new
  78. end type
  79. type cb_5 from uo_imflatbutton within w_email_send_new
  80. end type
  81. type st_12 from statictext within w_email_send_new
  82. end type
  83. type tab_1 from tab within w_email_send_new
  84. end type
  85. type tabpage_1 from userobject within tab_1
  86. end type
  87. type dw_1 from u_dw_rbtnfilter within tabpage_1
  88. end type
  89. type tabpage_1 from userobject within tab_1
  90. dw_1 dw_1
  91. end type
  92. type tabpage_2 from userobject within tab_1
  93. end type
  94. type ddlb_1 from dropdownlistbox within tabpage_2
  95. end type
  96. type st_13 from statictext within tabpage_2
  97. end type
  98. type cb_10 from commandbutton within tabpage_2
  99. end type
  100. type dw_2 from u_dw_rbtnfilter within tabpage_2
  101. end type
  102. type tabpage_2 from userobject within tab_1
  103. ddlb_1 ddlb_1
  104. st_13 st_13
  105. cb_10 cb_10
  106. dw_2 dw_2
  107. end type
  108. type tabpage_3 from userobject within tab_1
  109. end type
  110. type dw_cc from u_dw_rbtnfilter within tabpage_3
  111. end type
  112. type tabpage_3 from userobject within tab_1
  113. dw_cc dw_cc
  114. end type
  115. type tab_1 from tab within w_email_send_new
  116. tabpage_1 tabpage_1
  117. tabpage_2 tabpage_2
  118. tabpage_3 tabpage_3
  119. end type
  120. type ln_bar from line within w_email_send_new
  121. end type
  122. type ln_bar2 from line within w_email_send_new
  123. end type
  124. type r_bar from rectangle within w_email_send_new
  125. end type
  126. type ddlb_2 from dropdownlistbox within w_email_send_new
  127. end type
  128. type cb_8 from uo_imflatbutton within w_email_send_new
  129. end type
  130. type mle_revlist from uo_mle_demo within w_email_send_new
  131. end type
  132. type cbx_auto from checkbox within w_email_send_new
  133. end type
  134. type cb_send from uo_imflatbutton within w_email_send_new
  135. end type
  136. type cbx_hz from checkbox within w_email_send_new
  137. end type
  138. type cbx_2 from checkbox within w_email_send_new
  139. end type
  140. type cbx_3 from checkbox within w_email_send_new
  141. end type
  142. type cb_11 from uo_imflatbutton within w_email_send_new
  143. end type
  144. type st_cc from uo_text_m within w_email_send_new
  145. end type
  146. type mle_cc from uo_mle_demo within w_email_send_new
  147. end type
  148. type pb_cc from picturebutton within w_email_send_new
  149. end type
  150. type bitmapfileheader from structure within w_email_send_new
  151. end type
  152. type bitmapinfo from structure within w_email_send_new
  153. end type
  154. type bitmapinfoheader from structure within w_email_send_new
  155. end type
  156. type s_email_cloudmx from structure within w_email_send_new
  157. end type
  158. end forward
  159. type bitmapfileheader from structure
  160. integer bftype
  161. long bfsize
  162. integer bfreserved1
  163. integer bfreserved2
  164. long bfoffbits
  165. end type
  166. type bitmapinfo from structure
  167. bitmapinfoheader bmiheader
  168. unsignedlong bmicolors[]
  169. end type
  170. type bitmapinfoheader from structure
  171. long bisize
  172. long biwidth
  173. long biheight
  174. integer biplanes
  175. integer bibitcount
  176. long bicompression
  177. long bisizeimage
  178. long bixpelspermeter
  179. long biypelspermeter
  180. long biclrused
  181. long biclrimportant
  182. end type
  183. type s_email_cloudmx from structure
  184. string name
  185. string url
  186. end type
  187. global type w_email_send_new from w_publ_base
  188. integer width = 3799
  189. integer height = 2692
  190. string title = "发送邮件"
  191. boolean maxbox = true
  192. boolean center = true
  193. event ue_addfj ( )
  194. event ue_delfj ( )
  195. event ue_saveas ( )
  196. event ue_runfj ( )
  197. event ue_filter_rep ( )
  198. event ue_sendreg ( )
  199. event ue_sendmx ( )
  200. event ue_set_height ( )
  201. event ue_set_sign ( integer abc )
  202. event losefocus pbm_bnkillfocus
  203. event getfocus pbm_bnsetfocus
  204. event ue_cloudfj ( )
  205. event ue_sendmx_cust ( )
  206. event ue_sendmx_cust_cc ( )
  207. event ue_sendmx_cc ( )
  208. cb_save cb_save
  209. cb_fj cb_fj
  210. cb_change cb_change
  211. lv_fj lv_fj
  212. cb_6 cb_6
  213. cb_7 cb_7
  214. cb_9 cb_9
  215. cbx_1 cbx_1
  216. cb_1 cb_1
  217. cb_2 cb_2
  218. cb_fornextsend cb_fornextsend
  219. st_1 st_1
  220. em_priority em_priority
  221. st_2 st_2
  222. st_3 st_3
  223. st_4 st_4
  224. st_5 st_5
  225. st_6 st_6
  226. st_7 st_7
  227. st_9 st_9
  228. sle_subject sle_subject
  229. st_10 st_10
  230. sle_mailuser sle_mailuser
  231. sle_mailaddress sle_mailaddress
  232. sle_mailtype sle_mailtype
  233. em_mailsize em_mailsize
  234. sle_opemp sle_opemp
  235. em_opdate em_opdate
  236. em_senddate em_senddate
  237. sp_v1 sp_v1
  238. cb_3 cb_3
  239. cb_4 cb_4
  240. uo_html uo_html
  241. st_11 st_11
  242. pb_1 pb_1
  243. ddlb_normalflag ddlb_normalflag
  244. st_8 st_8
  245. cb_5 cb_5
  246. st_12 st_12
  247. tab_1 tab_1
  248. ln_bar ln_bar
  249. ln_bar2 ln_bar2
  250. r_bar r_bar
  251. ddlb_2 ddlb_2
  252. cb_8 cb_8
  253. mle_revlist mle_revlist
  254. cbx_auto cbx_auto
  255. cb_send cb_send
  256. cbx_hz cbx_hz
  257. cbx_2 cbx_2
  258. cbx_3 cbx_3
  259. cb_11 cb_11
  260. st_cc st_cc
  261. mle_cc mle_cc
  262. pb_cc pb_cc
  263. end type
  264. global w_email_send_new w_email_send_new
  265. type prototypes
  266. FUNCTION ulong UnregisterHotKey( ulong hWnd, ulong id ) LIBRARY "user32.dll"
  267. end prototypes
  268. type variables
  269. private:
  270. s_email_cloudmx ss_email_cloudmx
  271. public:
  272. s_email_set s_set
  273. s_email_send s_send
  274. boolean have_fj = false
  275. //datawindow dw_rep
  276. //datawindow dw_cust
  277. //datawindow dw_spt
  278. //datawindow dw_cust_rep
  279. //datawindow dw_spt_rep
  280. string fjfilepathname = 'fjtemp'
  281. uo_email obj_email
  282. boolean ls_update_flag=true
  283. //string ins_sqlerrtext
  284. //long modifyrow_no=0
  285. //boolean have_cust_rep = false
  286. //boolean have_spt_rep = false
  287. //boolean ib_InitHtml = false
  288. //long ins_cur_fjtype = -1
  289. int count1=1
  290. datawindow dw_revlist
  291. datawindow dw_cc
  292. datawindow dw_2
  293. string paperStyle='简约'
  294. string mailContent=''
  295. m_Dfc_Control_PopupMenu dmPopupMenu
  296. //long signList[]
  297. transaction Commit_Tran
  298. transaction fj_tran
  299. long backgroundid=0
  300. string C_Sys_admsg_fj = 'Sys_admsg_fj'
  301. string C_u_email_fj = 'u_email_fj'
  302. string C_from_file = 'from_file'
  303. end variables
  304. forward prototypes
  305. public function integer wf_save (ref string arg_msg)
  306. public function integer wf_init (ref string arg_msg)
  307. public function long wf_face_change ()
  308. public subroutine wf_fjcount ()
  309. public function integer wf_check (ref string arg_msg)
  310. public function integer f_getstatusvalue (string arg_name)
  311. public subroutine wf_makerevlist ()
  312. public subroutine wf_makerevtext ()
  313. public subroutine uf_updaterevlist ()
  314. public function string f_getstatusname (string arg_value)
  315. public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg)
  316. public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
  317. public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
  318. public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename)
  319. public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename)
  320. public function boolean wf_hasdotnet ()
  321. public subroutine wf_addfj (string arg_filename)
  322. public subroutine wf_reply (integer arg_id)
  323. public function integer wf_setbackground (integer arg_paperid)
  324. public function string wf_get_backgroundfile (integer arg_paperid)
  325. public function integer wf_addbacktofj (integer arg_paperid)
  326. public function integer wf_retrieve_normal ()
  327. public function integer wf_getpic_fromdb (integer arg_paperid)
  328. public subroutine wf_set_oldmailcontent (ref string arg_msg)
  329. public function string wf_make_newcontent (string arg_new)
  330. public subroutine wf_retrieve_sign ()
  331. public subroutine wf_html_to_text ()
  332. public function string of_globalreplace (string as_source, string as_old, string as_new)
  333. public function string gf_getfirstinfo (string as_source, string as_bef, string as_aft)
  334. public subroutine wf_addfj (string pathname, string filename[])
  335. public subroutine wf_html_set (string arg_text)
  336. public subroutine wf_makerevtext_cc ()
  337. public subroutine uf_updaterevlist_cc ()
  338. public subroutine wf_makerevlist_cc ()
  339. public subroutine wf_move_cc ()
  340. end prototypes
  341. event ue_addfj();Long i,j
  342. Long ls_i,ls_j,ls_newrow,ls_filesize
  343. Blob ls_filedata
  344. String Pathname,ls_filename
  345. String Filename[],errmsg
  346. s_email_lvfj s_lvfj
  347. String find_name
  348. listviewitem l_lvi,l_lvi1
  349. i = GetFileSaveName("选择附件",Pathname,Filename[],"*","所有文件,*.*")
  350. IF i = 1 AND Trim(Pathname) <> '' THEN
  351. IF NOT have_fj THEN
  352. have_fj = TRUE
  353. THIS.TriggerEvent(Resize!)
  354. END IF
  355. FOR ls_i = 1 TO UpperBound(Filename)
  356. IF UpperBound(Filename) = 1 THEN
  357. ls_filename = Pathname
  358. ELSE
  359. ls_filename = Pathname + '\'+Filename[ls_i]
  360. END IF
  361. FOR j = 1 TO lv_fj.TotalItems()
  362. lv_fj.GetItem(j, l_lvi1)
  363. find_name = l_lvi1.Label
  364. IF find_name = Filename[ls_i] THEN GOTO for_next
  365. NEXT
  366. IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
  367. MessageBox('系统提示',errmsg)
  368. RETURN
  369. END IF
  370. ls_filesize = Len(ls_filedata)
  371. s_lvfj.fjtype = 0
  372. s_lvfj.relid = s_send.sendid
  373. s_lvfj.Filename = Filename[ls_i]
  374. s_lvfj.filesize = ls_filesize
  375. s_lvfj.fileblob = ls_filedata
  376. s_lvfj.filetype = C_from_file
  377. l_lvi.PictureIndex = 1
  378. l_lvi.Label = Filename[ls_i]
  379. l_lvi.Data = s_lvfj
  380. lv_fj.InsertItem(ls_i,l_lvi)
  381. for_next:
  382. NEXT
  383. END IF
  384. wf_fjcount()
  385. end event
  386. event ue_delfj();lv_fj.triggerevent('ue_delfj')
  387. wf_fjcount()
  388. end event
  389. event ue_saveas();lv_fj.triggerevent('ue_saveas')
  390. end event
  391. event ue_runfj();lv_fj.triggerevent('ue_runfj')
  392. end event
  393. event ue_filter_rep();string obj_expr=''
  394. //if trim(tab_1.tabpage_1.sle_2.text)<>'' then
  395. // if pos(trim(tab_1.tabpage_1.sle_2.text),'%',1)=0 then
  396. // obj_expr=obj_expr+'( mailname like "%'+trim(tab_1.tabpage_1.sle_2.text)+'%" )'
  397. // else
  398. // obj_expr=obj_expr+'( mailname like "'+trim(tab_1.tabpage_1.sle_2.text)+'" )'
  399. // end if
  400. //end if
  401. //
  402. //dw_rep.setfilter(obj_expr)
  403. //
  404. //dw_rep.setredraw(false)
  405. //dw_rep.filter()
  406. //if dw_rep.rowcount()>=1 then
  407. // dw_rep.selectrow(0,false)
  408. // dw_rep.selectrow(1,true)
  409. //end if
  410. //dw_rep.setredraw(true)
  411. end event
  412. event ue_sendmx();s_sendmx_parm s_sendmx, s_return
  413. long i, ll_row
  414. FOR i = 1 TO dw_revlist.RowCount()
  415. s_sendmx.sendmx[i].printid = i
  416. s_sendmx.sendmx[i].sendid = 0
  417. s_sendmx.sendmx[i].reltype = dw_revlist.Object.reltype[i]
  418. s_sendmx.sendmx[i].Relid = dw_revlist.Object.Relid[i]
  419. s_sendmx.sendmx[i].Revname = Trim(dw_revlist.Object.Revname[i])
  420. s_sendmx.sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
  421. s_sendmx.sendmx[i].repname = Trim(dw_revlist.Object.repname[i])
  422. NEXT
  423. openwithparm(w_email_sendmx_new, s_sendmx)
  424. s_return = message.powerobjectparm
  425. if not isvalid(s_return) then return
  426. dw_revlist.reset()
  427. for i = 1 to upperbound(s_return.sendmx)
  428. ll_row = dw_revlist.InsertRow(0)
  429. dw_revlist.Object.sendid[ll_row] = s_send.sendid
  430. dw_revlist.Object.printid[ll_row] = ll_row
  431. dw_revlist.Object.reltype[ll_row] = s_return.sendmx[i].reltype
  432. dw_revlist.Object.relid[ll_row] = s_return.sendmx[i].relid
  433. dw_revlist.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
  434. dw_revlist.Object.revname[ll_row] = s_return.sendmx[i].revname
  435. dw_revlist.Object.repname[ll_row] = s_return.sendmx[i].repname
  436. next
  437. wf_makerevtext()
  438. this.triggerevent('ue_set_height')
  439. end event
  440. event ue_set_height;if mle_revlist.height > 84 then return
  441. if mle_revlist.linecount( ) > 1 then
  442. mle_revlist.Height = 84 * 3
  443. st_9.y = st_9.y + 168
  444. sle_subject.y = sle_subject.y + 168
  445. uo_html.y = uo_html.y + 168
  446. sp_v1.y = sp_v1.y + 168
  447. dw_revlist.y = dw_revlist.y + 168
  448. this.triggerevent('resize')
  449. end if
  450. end event
  451. event ue_set_sign(integer abc);//messagebox('',string(arg_id))
  452. m_Dfc_Control_PopupMenu dmPopupMenu1
  453. dmPopupMenu1=dmPopupMenu
  454. end event
  455. event losefocus;//UnregisterHotKey(Handle(This), atomid)
  456. //messagebox("","eeww")
  457. end event
  458. event getfocus;//RegisterHotKey(Handle(This), atomid, MOD_CONTROL , 86)
  459. //messagebox("","eeweww")
  460. end event
  461. event ue_cloudfj();open(w_email_cloud)
  462. ss_email_cloudmx = message.powerobjectparm
  463. //messagebox(ss_email_cloudmx.name,ss_email_cloudmx.url)
  464. string s0,s1,s2,s3,htmltext
  465. s0='<TD style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10.5pt; PADDING-BOTTOM: 10px; COLOR: #000000; LINE-HEIGHT: 1.5; PADDING-TOP: 10px; FONT-FAMILY: 微软雅黑" vAlign="top" height="100%" width="100%"> <HR id=FMSigSeperator style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1> &nbsp;</TD>'
  466. s1='<DIV><strong> 附件(attachment)</strong> </DIV> <a href="'
  467. s2='">'
  468. s3='</a>'
  469. htmltext = uo_html.uf_gethtml()
  470. htmltext = htmltext +char(13)+char(10)+ s0 +s1+ss_email_cloudmx.url+s2+ss_email_cloudmx.name +s3
  471. uo_html.uf_sethtml(htmltext)
  472. end event
  473. event ue_sendmx_cust();s_sendmx_parm s_sendmx, s_return
  474. long i, ll_row
  475. s_edit_index_tran ss_tran
  476. FOR i = 1 TO dw_revlist.RowCount()
  477. s_sendmx.sendmx[i].printid = i
  478. s_sendmx.sendmx[i].sendid = 0
  479. s_sendmx.sendmx[i].reltype = dw_revlist.Object.reltype[i]
  480. s_sendmx.sendmx[i].Relid = dw_revlist.Object.Relid[i]
  481. s_sendmx.sendmx[i].Revname = Trim(dw_revlist.Object.Revname[i])
  482. s_sendmx.sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
  483. s_sendmx.sendmx[i].repname = Trim(dw_revlist.Object.repname[i])
  484. NEXT
  485. OpenWithParm(w_email_seach_cust,ss_tran)
  486. s_return = message.powerobjectparm
  487. if not isvalid(s_return) then return
  488. dw_revlist.reset()
  489. for i = 1 to upperbound(s_return.sendmx)
  490. ll_row = dw_revlist.InsertRow(0)
  491. dw_revlist.Object.sendid[ll_row] = s_send.sendid
  492. dw_revlist.Object.printid[ll_row] = ll_row
  493. dw_revlist.Object.reltype[ll_row] = s_return.sendmx[i].reltype
  494. dw_revlist.Object.relid[ll_row] = s_return.sendmx[i].relid
  495. dw_revlist.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
  496. dw_revlist.Object.revname[ll_row] = s_return.sendmx[i].revname
  497. dw_revlist.Object.repname[ll_row] = s_return.sendmx[i].repname
  498. next
  499. wf_makerevtext()
  500. this.triggerevent('ue_set_height')
  501. end event
  502. event ue_sendmx_cust_cc();s_sendmx_parm s_sendmx, s_return
  503. long i, ll_row
  504. s_edit_index_tran ss_tran
  505. FOR i = 1 TO dw_cc.RowCount()
  506. s_sendmx.sendmx[i].printid = i
  507. s_sendmx.sendmx[i].sendid = 0
  508. s_sendmx.sendmx[i].reltype = dw_cc.Object.reltype[i]
  509. s_sendmx.sendmx[i].Relid = dw_cc.Object.Relid[i]
  510. s_sendmx.sendmx[i].Revname = Trim(dw_cc.Object.Revname[i])
  511. s_sendmx.sendmx[i].revaddress = Trim(dw_cc.Object.revaddress[i])
  512. s_sendmx.sendmx[i].repname = Trim(dw_cc.Object.repname[i])
  513. NEXT
  514. OpenWithParm(w_email_seach_cust,ss_tran)
  515. s_return = message.powerobjectparm
  516. if not isvalid(s_return) then return
  517. dw_cc.reset()
  518. for i = 1 to upperbound(s_return.sendmx)
  519. ll_row = dw_cc.InsertRow(0)
  520. dw_cc.Object.sendid[ll_row] = s_send.sendid
  521. dw_cc.Object.printid[ll_row] = ll_row
  522. dw_cc.Object.reltype[ll_row] = s_return.sendmx[i].reltype
  523. dw_cc.Object.relid[ll_row] = s_return.sendmx[i].relid
  524. dw_cc.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
  525. dw_cc.Object.revname[ll_row] = s_return.sendmx[i].revname
  526. dw_cc.Object.repname[ll_row] = s_return.sendmx[i].repname
  527. dw_cc.Object.addtype[ll_row] = "Cc"
  528. next
  529. wf_makerevtext_cc()
  530. //this.triggerevent('ue_set_height')
  531. end event
  532. event ue_sendmx_cc();s_sendmx_parm s_sendmx, s_return
  533. long i, ll_row
  534. FOR i = 1 TO dw_cc.RowCount()
  535. s_sendmx.sendmx[i].printid = i
  536. s_sendmx.sendmx[i].sendid = 0
  537. s_sendmx.sendmx[i].reltype = dw_cc.Object.reltype[i]
  538. s_sendmx.sendmx[i].Relid = dw_cc.Object.Relid[i]
  539. s_sendmx.sendmx[i].Revname = Trim(dw_cc.Object.Revname[i])
  540. s_sendmx.sendmx[i].revaddress = Trim(dw_cc.Object.revaddress[i])
  541. s_sendmx.sendmx[i].repname = Trim(dw_cc.Object.repname[i])
  542. NEXT
  543. openwithparm(w_email_sendmx_new, s_sendmx)
  544. s_return = message.powerobjectparm
  545. if not isvalid(s_return) then return
  546. dw_cc.reset()
  547. for i = 1 to upperbound(s_return.sendmx)
  548. ll_row = dw_cc.InsertRow(0)
  549. dw_cc.Object.sendid[ll_row] = s_send.sendid
  550. dw_cc.Object.printid[ll_row] = ll_row
  551. dw_cc.Object.reltype[ll_row] = s_return.sendmx[i].reltype
  552. dw_cc.Object.relid[ll_row] = s_return.sendmx[i].relid
  553. dw_cc.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
  554. dw_cc.Object.revname[ll_row] = s_return.sendmx[i].revname
  555. dw_cc.Object.repname[ll_row] = s_return.sendmx[i].repname
  556. dw_cc.Object.addtype[ll_row] = "Cc"
  557. next
  558. wf_makerevtext_cc()
  559. //this.triggerevent('ue_set_height')
  560. end event
  561. public function integer wf_save (ref string arg_msg);Long rslt = 1
  562. Long i,j
  563. s_email_lvfj s_lvfj[]
  564. listviewitem l_lvi
  565. String ls_temp
  566. Long ll_row,ll_row1
  567. String chk1,chk2
  568. dw_revlist.AcceptText()
  569. dw_cc.AcceptText()
  570. s_email_sendmx s_sendmx[],s_parm
  571. mle_revlist.Text = ''
  572. ls_temp = ''
  573. ///////////////// //添加抄送人列表
  574. FOR i = 1 To dw_cc.RowCount()
  575. ext1:
  576. FOR j = 1 To dw_revlist.RowCount()
  577. IF Trim(dw_revlist.Object.revaddress[j]) = Trim(dw_cc.Object.revaddress[i]) THEN
  578. IF i = dw_cc.RowCount() THEN
  579. GOTO ext2
  580. ELSE
  581. i++
  582. GOTO ext1
  583. END IF
  584. END IF
  585. NEXT
  586. ll_row1 = dw_revlist.InsertRow(0)
  587. dw_revlist.Object.isselect[ll_row1] = dw_cc.Object.isselect[i]
  588. dw_revlist.Object.sendid[ll_row1] = dw_cc.Object.sendid[i]
  589. dw_revlist.Object.printid[ll_row1] = ll_row1
  590. dw_revlist.Object.reltype[ll_row1] = 99
  591. dw_revlist.Object.relid[ll_row1] = dw_cc.Object.relid[i]
  592. dw_revlist.Object.revaddress[ll_row1] = dw_cc.Object.revaddress[i]
  593. dw_revlist.Object.revname[ll_row1] = dw_cc.Object.revname[i]
  594. dw_revlist.Object.dscrp[ll_row1] = dw_cc.Object.dscrp[i]
  595. dw_revlist.Object.repname[ll_row1] = dw_cc.Object.repname[i]
  596. dw_revlist.Object.addtype[ll_row1] = dw_cc.Object.addtype[i]
  597. NEXT
  598. ext2:
  599. dw_revlist.AcceptText()
  600. ////////////////// //
  601. FOR i = 1 To dw_revlist.RowCount()
  602. chk1 = LeftTrim(RightTrim(Lower(dw_revlist.Object.revname[i])))
  603. FOR j = i+1 To dw_revlist.RowCount()
  604. IF j > dw_revlist.RowCount() THEN
  605. CONTINUE
  606. END IF
  607. chk2 = LeftTrim(RightTrim(Lower(dw_revlist.Object.revname[j])))
  608. IF Pos(chk1,chk2) > 0 THEN
  609. rslt = 0
  610. arg_msg = '存在类似或相同收件人,不能保存!~n'+chk1+','+chk2
  611. GOTO ext
  612. END IF
  613. IF Pos(chk2,chk1) > 0 THEN
  614. rslt = 0
  615. arg_msg = '存在类似或相同收件人,不能保存!~n'+chk1+','+chk2
  616. GOTO ext
  617. END IF
  618. NEXT
  619. NEXT
  620. FOR i = 1 To dw_revlist.RowCount()
  621. s_parm.reltype = dw_revlist.Object.reltype[i]
  622. s_parm.revname = Trim(dw_revlist.Object.revname[i])
  623. s_parm.revaddress = Trim(dw_revlist.Object.revaddress[i])
  624. // messagebox('','1')
  625. IF obj_email.f_check_rep(s_parm,arg_msg) = 0 THEN
  626. rslt = 0
  627. GOTO ext
  628. END IF
  629. dw_revlist.Object.revname[i] = s_parm.revname
  630. dw_revlist.Object.revaddress[i] = s_parm.revaddress
  631. dw_revlist.Object.reltype[i] = s_parm.reltype
  632. dw_revlist.Object.relid[i] = s_parm.relid
  633. NEXT
  634. wf_makerevtext()
  635. s_send.mailtype = '发件'
  636. s_send.Subject = sle_subject.Text
  637. s_send.priority = Long(This.em_priority.Text)
  638. /////////////////////////////// //解决图片不能显示star
  639. IF lv_fj.TotalItems() > 0 THEN
  640. FOR j = 1 To lv_fj.TotalItems()
  641. lv_fj.GetItem(j, l_lvi)
  642. s_lvfj[j] = l_lvi.Data
  643. NEXT
  644. END IF
  645. oleobject images
  646. oleobject lo
  647. Long ll_cnt,ll_cnt1
  648. String ls_url
  649. String ls_cid,s_temp,ss_temp
  650. String errmsg
  651. Blob ls_filedata
  652. String ls_cidnew
  653. images = uo_html.ole_web.Object.document.images
  654. ll_cnt = images.Length
  655. FOR i = 0 To ll_cnt - 1
  656. ls_cidnew = "__LJ" + String(i)
  657. lo = images.Item(i)
  658. ls_url = lo.getAttribute("src")
  659. IF Lower(Mid(ls_url, 1, 4)) = 'cid:' Or Lower(Mid(ls_url, 1, 4)) = 'http' THEN
  660. CONTINUE
  661. ELSE
  662. s_temp = Mid(ls_url, 9)
  663. FOR j = Len(s_temp) To 1 Step -1
  664. IF Mid(s_temp,j,1) = '/' THEN
  665. ss_temp = Mid(s_temp,j + 1,Len(s_temp) - j )
  666. EXIT
  667. END IF
  668. NEXT
  669. // MessageBox("",ss_temp)
  670. lo.setAttribute("src", "cid:" + ls_cidnew)
  671. s_temp = of_globalreplace(s_temp,"%20" , " ")
  672. IF f_filetoblob(s_temp,ls_filedata,errmsg) = 0 THEN
  673. MessageBox('系统提示',errmsg)
  674. RETURN 0
  675. END IF
  676. ll_cnt1 = UpperBound(s_lvfj)+ 1
  677. s_lvfj[ll_cnt1].fjtype = 0
  678. s_lvfj[ll_cnt1].relid = s_send.sendid
  679. s_lvfj[ll_cnt1].Filename = ss_temp
  680. s_lvfj[ll_cnt1].cid = ls_cidnew
  681. // s_lvfj[ll_cnt1].filesize = Len(ss_temp)
  682. s_lvfj[ll_cnt1].fileblob = ls_filedata
  683. s_lvfj[ll_cnt1].FileType = C_from_file
  684. END IF
  685. NEXT
  686. /////////////////////////////// //解决图片不能显示end
  687. s_send.htmlbody = uo_html.uf_gethtml( )
  688. s_send.textbody = uo_html.uf_gettext( )
  689. s_send.mailsize = Long(em_mailsize.Text)
  690. IF cbx_hz.Checked = True THEN
  691. s_send.NTFlag = 1
  692. ELSE
  693. s_send.NTFlag = 0
  694. END IF
  695. s_send.priority = 0
  696. IF cbx_3.Checked = True THEN
  697. s_send.priority = 1
  698. END IF
  699. //MessageBox("11",s_send.htmlbody)
  700. /////////////////////////////// //解决图片不能显示star
  701. //String s_temp,s_htmlbody,ss_temp
  702. //Long l_l,l_r
  703. //s_htmlbody = s_send.htmlbody
  704. //l_l = 0
  705. //l_l = Pos(s_htmlbody,'src="')
  706. //IF l_l <> 0 THEN
  707. // FOR i = l_l + 5 To l_l + 1000
  708. // IF Mid(s_htmlbody,i,1) = '"' THEN
  709. // l_r = i
  710. // EXIT
  711. // END IF
  712. // NEXT
  713. //
  714. // s_temp = Mid(s_htmlbody,l_l,l_r - l_l + 1)
  715. //
  716. // FOR i = Len(s_temp) To 1 Step -1
  717. // IF Mid(s_temp,i,1) = '\' THEN
  718. // ss_temp=mid(s_temp,i + 1,len(s_temp) - i - 1)
  719. //
  720. // EXIT
  721. // END IF
  722. // NEXT
  723. //
  724. // ss_temp= 'src="cid:' +ss_temp +'"'
  725. // s_htmlbody=of_globalreplace(s_htmlbody,s_temp , ss_temp)
  726. // messagebox("",s_htmlbody)
  727. //
  728. //END IF
  729. //
  730. //oleobject images
  731. //images = ole_1.Object.document.images
  732. //
  733. //Long ll_cnt
  734. //ll_cnt = images.Length
  735. //
  736. //Longj
  737. //oleobject lo
  738. //String ls_url
  739. //String ls_cid
  740. //listviewitem lvi
  741. //s_email_lvfj lvfj
  742. //Blob lb
  743. //String ls_msg
  744. //Boolean findpic = False
  745. //String ls_filename
  746. //
  747. //FOR i = 0 To ll_cnt - 1
  748. // lo = images.Item(i)
  749. // ls_url = lo.getAttribute("src")
  750. // IF Lower(Mid(ls_url, 1, 4)) = 'cid:' THEN
  751. // ls_cid = Mid(ls_url, 5)
  752. // END IF
  753. //NEXT
  754. /////////////////////////////// //解决图片不能显示star
  755. //if cb_normal_flag.checked then
  756. // s_send.normal_flag = 1
  757. //else
  758. // s_send.normal_flag = 0
  759. //end if
  760. String ls_normal
  761. Long ll_begin, ll_end
  762. ls_normal = ddlb_normalflag.Text
  763. ll_begin = Pos(ls_normal, '[',1)
  764. ll_end = Pos(ls_normal, ']', ll_begin)
  765. ls_normal = Mid(ls_normal, ll_begin + 1, ll_end - ll_begin - 1)
  766. s_send.normal_flag = Long(ls_normal)
  767. IF dw_revlist.RowCount() > 0 THEN
  768. FOR i = 1 To dw_revlist.RowCount()
  769. s_sendmx[i].printid = i
  770. s_sendmx[i].sendid = s_send.sendid
  771. s_sendmx[i].reltype = dw_revlist.Object.reltype[i]
  772. s_sendmx[i].relid = dw_revlist.Object.relid[i]
  773. s_sendmx[i].revname = Trim(dw_revlist.Object.revname[i])
  774. s_sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
  775. s_sendmx[i].repname = Trim(dw_revlist.Object.repname[i])
  776. s_sendmx[i].addtype = Trim(dw_revlist.Object.addtype[i])
  777. IF IsNull(s_sendmx[i].addtype) THEN s_sendmx[i].addtype = ""
  778. NEXT
  779. ELSE
  780. arg_msg = '收件人列表不能为空'
  781. rslt = 0
  782. GOTO ext
  783. END IF
  784. IF obj_email.f_save(s_send,s_sendmx,s_lvfj,arg_msg) = 0 THEN
  785. rslt = 0
  786. GOTO ext
  787. END IF
  788. s_set.sendid = s_send.sendid
  789. IF wf_init(arg_msg) <> 1 THEN
  790. rslt = 0
  791. GOTO ext
  792. END IF
  793. wf_fjcount()
  794. This.TriggerEvent('resize')
  795. //if backgroundid<>0 then
  796. // string path
  797. // path= 'c:\'+String(backgroundid,'mht0000.mht')
  798. // if fileexists(path) then
  799. // filedelete(path)
  800. // end if
  801. //end if
  802. ext:
  803. RETURN rslt
  804. end function
  805. public function integer wf_init (ref string arg_msg);Int rslt = 1
  806. Long count,ls_i, i
  807. String ls_msg
  808. listviewitem l_lvi
  809. s_email_lvfj s_lvfj[]
  810. dw_revlist.Reset()
  811. IF s_set.sendid > 0 THEN
  812. IF obj_email.uf_get_send(s_set.sendid, s_send, ls_msg) <> 1 THEN
  813. rslt = 0
  814. arg_msg = ls_msg
  815. GOTO ext
  816. END IF
  817. // mle_text.text = s_send.textbody
  818. em_priority.Text = String(s_send.priority)
  819. sle_mailuser.Text = s_set.mailuser
  820. sle_mailaddress.Text = s_set.mailAddress
  821. sle_mailtype.Text = f_GetStatusName(s_send.mailtype)
  822. em_mailsize.Text = String(s_send.mailsize)
  823. sle_opemp.Text = s_send.opemp
  824. em_opdate.Text = String(s_send.opdate, 'yyyy-mm-dd')
  825. em_senddate.Text = String(s_send.senddate, 'yyyy-mm-dd')
  826. sle_subject.Text = s_send.Subject
  827. ddlb_normalflag.SelectItem(s_send.normal_flag + 1)
  828. uo_html.uf_sethtml(s_send.htmlbody)
  829. dw_revlist.Retrieve(s_send.sendid)
  830. //附件列表
  831. lv_fj.DeleteItems( )
  832. IF obj_email.uf_get_fj(s_set.relid, s_lvfj, arg_msg, False) <> 1 THEN
  833. rslt = 0
  834. GOTO ext
  835. END IF
  836. FOR i = 1 To UpperBound(s_lvfj)
  837. l_lvi.PictureIndex = 1
  838. l_lvi.Label = s_lvfj[i].Filename
  839. l_lvi.Data = s_lvfj[i]
  840. lv_fj.AddItem(l_lvi)
  841. NEXT
  842. have_fj = (UpperBound(s_lvfj) > 0)
  843. lv_fj.Visible = have_fj
  844. ELSE
  845. Long ll_row
  846. em_priority.Text = "3"
  847. sle_mailtype.Text = '未发'
  848. sle_mailuser.Text = s_set.mailuser
  849. sle_mailaddress.Text = s_set.mailAddress
  850. s_send.mailid = s_set.mailid
  851. ddlb_normalflag.SelectItem(1)
  852. em_opdate.Text = String(Today (), 'yyyy-mm-dd')
  853. IF s_set.flag = 1 THEN // 回复
  854. ll_row = dw_revlist.InsertRow(0)
  855. dw_revlist.Object.reltype[ll_row] = s_set.reltype
  856. dw_revlist.Object.revaddress[ll_row] = s_set.revaddress
  857. dw_revlist.Object.revname[ll_row] = s_set.revuser
  858. dw_revlist.Object.relid[ll_row] = s_set.relid
  859. lv_fj.DeleteItems( )
  860. IF obj_email.uf_get_fj(s_set.relid, s_lvfj, arg_msg, False) <> 1 THEN
  861. rslt = 0
  862. GOTO ext
  863. END IF
  864. FOR i = 1 To UpperBound(s_lvfj)
  865. l_lvi.PictureIndex = 1
  866. l_lvi.Label = s_lvfj[i].Filename
  867. l_lvi.Data = s_lvfj[i]
  868. lv_fj.AddItem(l_lvi)
  869. NEXT
  870. have_fj = (UpperBound(s_lvfj) > 0)
  871. lv_fj.Visible = False
  872. ELSEIF s_set.flag = 2 THEN // 转发
  873. // mle_text.Text = s_set.textbody
  874. sle_subject.Text = s_set.Title
  875. s_send.htmlbody = s_set.htmlbody
  876. uo_html.uf_sethtml(s_send.htmlbody)
  877. lv_fj.DeleteItems( )
  878. IF s_set.reltype = 2 THEN
  879. IF wf_admsg_getfj(s_set.relid, s_lvfj, arg_msg) <> 1 THEN
  880. rslt = 0
  881. GOTO ext
  882. END IF
  883. FOR i = 1 To UpperBound(s_lvfj)
  884. l_lvi.PictureIndex = 1
  885. l_lvi.Label = s_lvfj[i].Filename
  886. l_lvi.Data = s_lvfj[i]
  887. lv_fj.AddItem(l_lvi)
  888. NEXT
  889. have_fj = (UpperBound(s_lvfj) > 0)
  890. lv_fj.Visible = have_fj
  891. ELSE
  892. IF obj_email.uf_get_fj(s_set.relid, s_lvfj, arg_msg, False) <> 1 THEN
  893. rslt = 0
  894. GOTO ext
  895. END IF
  896. FOR i = 1 To UpperBound(s_lvfj)
  897. l_lvi.PictureIndex = 1
  898. l_lvi.Label = s_lvfj[i].Filename
  899. l_lvi.Data = s_lvfj[i]
  900. lv_fj.AddItem(l_lvi)
  901. NEXT
  902. have_fj = (UpperBound(s_lvfj) > 0)
  903. lv_fj.Visible = have_fj
  904. END IF
  905. END IF
  906. END IF
  907. wf_makerevtext()
  908. ext:
  909. RETURN rslt
  910. end function
  911. public function long wf_face_change ();IF dw_edit_mode THEN
  912. // tab_1.tabpage_1.cb_delet.Enabled = FALSE
  913. // tab_1.tabpage_1.cb_rtr.Enabled = FALSE
  914. //
  915. // tab_1.tabpage_1.cb_edit.Text = "放弃&E"
  916. // tab_1.tabpage_1.cb_add.Text = "保存&S"
  917. cb_send.Enabled = FALSE
  918. cb_save.Enabled = FALSE
  919. cb_fj.Enabled = FALSE
  920. cb_change.Enabled = FALSE
  921. cb_exit.Enabled = FALSE
  922. cb_6.Enabled = FALSE
  923. cb_7.Enabled = FALSE
  924. cb_9.Enabled = FALSE
  925. cbx_1.Enabled = FALSE
  926. // tab_1.tabpage_3.Enabled = FALSE
  927. // tab_1.tabpage_4.Enabled = FALSE
  928. ELSE
  929. // tab_1.tabpage_1.cb_delet.Enabled = TRUE
  930. // tab_1.tabpage_1.cb_rtr.Enabled = TRUE
  931. //
  932. // tab_1.tabpage_1.cb_edit.Text = "修改&E"
  933. // tab_1.tabpage_1.cb_add.Text = "新建&S"
  934. cb_send.Enabled = TRUE
  935. cb_save.Enabled = TRUE
  936. cb_fj.Enabled = TRUE
  937. cb_change.Enabled = TRUE
  938. cb_exit.Enabled = TRUE
  939. cb_6.Enabled = TRUE
  940. cb_7.Enabled = TRUE
  941. cb_9.Enabled = TRUE
  942. cbx_1.Enabled = TRUE
  943. // tab_1.tabpage_3.Enabled = TRUE
  944. // tab_1.tabpage_4.Enabled = TRUE
  945. END IF
  946. RETURN 1
  947. end function
  948. public subroutine wf_fjcount ();IF lv_fj.TotalItems() = 0 THEN
  949. cb_fj.Text = '附件'
  950. have_fj = FALSE
  951. THIS.TriggerEvent(Resize!)
  952. ELSE
  953. cb_fj.Text = '附件(' +String(lv_fj.TotalItems()) + ')'
  954. END IF
  955. cb_fj.of_init_draw()
  956. cb_fj.of_paint()
  957. cb_fj.TriggerEvent('ue_textchange')
  958. end subroutine
  959. public function integer wf_check (ref string arg_msg);Long rslt = 1
  960. Long i
  961. dw_revlist.AcceptText()
  962. IF dw_revlist.RowCount() = 0 THEN
  963. rslt = 0
  964. arg_msg = '收件人列表不能为空'
  965. GOTO ext
  966. END IF
  967. FOR i = 1 TO dw_revlist.RowCount()
  968. IF Pos(Trim(dw_revlist.Object.revaddress[i]),'@',1) = 0 THEN
  969. rslt = 0
  970. arg_msg = '第' + String(i) + '行,收件人地址不正确'
  971. GOTO ext
  972. END IF
  973. NEXT
  974. ext:
  975. RETURN rslt
  976. end function
  977. public function integer f_getstatusvalue (string arg_name);if arg_name = '未发' then
  978. return 0
  979. elseif arg_name = '已发' then
  980. return 1
  981. elseif arg_name = '废件' then
  982. return 2
  983. else
  984. return -1
  985. end if
  986. end function
  987. public subroutine wf_makerevlist ();string ls_name, ls_address
  988. long ll_pos
  989. long ll_row
  990. string ls_arg, ls_mail
  991. ls_arg = mle_revlist.text
  992. long ll_first, ll_sec
  993. dw_revlist.reset()
  994. dw_revlist.accepttext( )
  995. ll_first = 1
  996. do while (ll_first <= len(ls_arg))
  997. ll_sec = pos(ls_arg, ';', ll_first)
  998. if ll_sec = 0 then
  999. ll_sec = len(ls_arg)
  1000. else
  1001. ll_sec = ll_sec - 1
  1002. end if
  1003. if ll_sec < ll_first then
  1004. ll_first ++
  1005. continue;
  1006. end if
  1007. ls_mail = mid(ls_arg, ll_first, ll_sec - ll_first + 1)
  1008. ll_pos = pos(ls_mail, '<', 1)
  1009. if ll_pos = 0 then
  1010. ls_name = ls_mail
  1011. ls_address = ls_mail
  1012. else
  1013. ls_name = left(ls_mail, ll_pos - 1)
  1014. ls_address = mid(ls_mail, ll_pos + 1, len(ls_mail) - ll_pos)
  1015. ll_pos = pos(ls_address, '>', 1)
  1016. ls_address = left(ls_address, ll_pos - 1)
  1017. end if
  1018. ll_row = dw_revlist.InsertRow(0)
  1019. dw_revlist.Object.sendid[ll_row] = s_send.sendid
  1020. dw_revlist.Object.printid[ll_row] = ll_row
  1021. dw_revlist.Object.reltype[ll_row] = 3
  1022. dw_revlist.Object.relid[ll_row] = 0
  1023. dw_revlist.Object.revaddress[ll_row] = ls_address
  1024. dw_revlist.Object.revname[ll_row] = ls_name
  1025. dw_revlist.Object.dscrp[ll_row] = ''
  1026. dw_revlist.accepttext( )
  1027. ll_first = ll_sec + 2
  1028. loop
  1029. dw_revlist.accepttext( )
  1030. end subroutine
  1031. public subroutine wf_makerevtext ();Long i, ll_row
  1032. dw_revlist.AcceptText( )
  1033. ll_row = dw_revlist.RowCount( )
  1034. mle_revlist.Text = ''
  1035. IF ll_row = 0 THEN
  1036. RETURN
  1037. END IF
  1038. FOR i = 1 To ll_row
  1039. IF dw_revlist.Object.reltype[i] <> 99 THEN
  1040. mle_revlist.Text = mle_revlist.Text + Trim(dw_revlist.Object.revname[i])+ '<' + Trim(dw_revlist.Object.revaddress[i] )+ '>;'
  1041. END IF
  1042. NEXT
  1043. mle_revlist.Text = Left(mle_revlist.Text, Len(mle_revlist.Text) - 1)
  1044. IF s_set.Subject <> "" THEN sle_subject.Text = s_set.Subject //回复时带上主题(荣)
  1045. end subroutine
  1046. public subroutine uf_updaterevlist ();long index, reltype, j
  1047. index = 1
  1048. do while index <= dw_revlist.rowcount()
  1049. j = index + 1
  1050. do while j <= dw_revlist.rowcount( )
  1051. if dw_revlist.object.revaddress[index] = dw_revlist.object.revaddress[j] then
  1052. dw_revlist.deleterow(j)
  1053. else
  1054. j++
  1055. end if
  1056. loop
  1057. index ++
  1058. loop
  1059. wf_makerevtext()
  1060. end subroutine
  1061. public function string f_getstatusname (string arg_value);if arg_value = '发件' then
  1062. return '未发'
  1063. elseif arg_value = '已发件' then
  1064. return '已发'
  1065. elseif arg_value = '收件' then
  1066. return '已收'
  1067. else
  1068. return 'unkown'
  1069. end if
  1070. end function
  1071. public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg);int rslt = 1
  1072. s_email_lvfj lvfj[]
  1073. long fjid
  1074. string filename
  1075. long i = 0
  1076. DECLARE cur1 cursor FOR
  1077. select fjid,filename
  1078. from Sys_admsg_fj where msgid = :arg_msgid using Commit_Tran;
  1079. OPEN cur1;
  1080. FETCH cur1 INTO :fjid, :filename;
  1081. do while Commit_Tran.sqlcode = 0
  1082. i ++
  1083. lvfj[i].fjid = fjid
  1084. lvfj[i].filename = filename
  1085. lvfj[i].filetype = C_Sys_admsg_fj
  1086. FETCH cur1 INTO :fjid, :filename;
  1087. LOOP
  1088. CLOSE cur1;
  1089. arg_lvfj = lvfj
  1090. return rslt
  1091. end function
  1092. public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
  1093. SELECTBLOB fileblob INTO :arg_fjblob FROM Sys_admsg_fj
  1094. WHERE fjid = :arg_fjid using Commit_Tran;
  1095. if Commit_Tran.sqlcode <> 0 then
  1096. rslt = 0
  1097. arg_msg = '获取内部消息附件失败,' + Commit_Tran.sqlerrtext
  1098. goto ext
  1099. end if
  1100. ext:
  1101. return rslt
  1102. end function
  1103. public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
  1104. SELECTBLOB fileblob INTO :arg_fjblob FROM u_email_fj
  1105. WHERE fjid = :arg_fjid using fj_tran;
  1106. if fj_tran.sqlcode <> 0 then
  1107. rslt = 0
  1108. arg_msg = '获取附件失败,' + fj_tran.sqlerrtext
  1109. goto ext
  1110. end if
  1111. ext:
  1112. return rslt
  1113. end function
  1114. public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename);int rslt = 1
  1115. string ls_pathname
  1116. string errmsg
  1117. string lsNull
  1118. setnull(lsNull)
  1119. ls_pathname = sys_cur_path+fjfilepathname+'\'+arg_filename
  1120. IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  1121. IF f_blobtofile(ls_pathname,arg_blob,errmsg) = 0 THEN
  1122. rslt = 0
  1123. GOTO ext
  1124. END IF
  1125. //打开附件
  1126. ShellExecute32( Handle(THIS), lsNull, ls_pathname, lsNull, lsNull, 1 )
  1127. ext:
  1128. IF rslt = 0 THEN
  1129. MessageBox('系统提示',errmsg)
  1130. END IF
  1131. end subroutine
  1132. public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename);long pos1, i
  1133. string ls_filetypename
  1134. string ls_filename
  1135. string errmsg
  1136. pos1 = Pos(arg_filename,'.',1)
  1137. IF pos1 > 0 THEN
  1138. ls_filetypename = Mid(arg_filename,pos1 + 1, len(arg_filename))
  1139. i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
  1140. ELSE
  1141. ls_filetypename = ''
  1142. i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*.*,*.*")
  1143. END IF
  1144. IF i = 1 AND Trim(arg_filename) <> '' THEN
  1145. IF f_blobtofile(arg_filename,arg_blob,errmsg) = 0 THEN
  1146. MessageBox('系统提示',errmsg)
  1147. RETURN
  1148. ELSE
  1149. MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+arg_filename)
  1150. END IF
  1151. END IF
  1152. end subroutine
  1153. public function boolean wf_hasdotnet ();string ls_value[]
  1154. if RegistryValues('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727', ls_value) <> 1 then
  1155. return false
  1156. else
  1157. return true
  1158. end if
  1159. end function
  1160. public subroutine wf_addfj (string arg_filename);Long i,j
  1161. Long ls_i,ls_j,ls_newrow,ls_filesize
  1162. Blob ls_filedata
  1163. String Pathname,ls_filename
  1164. String Filename[],errmsg
  1165. s_email_lvfj s_lvfj
  1166. String find_name
  1167. listviewitem l_lvi,l_lvi1
  1168. i = 1
  1169. Pathname = arg_filename
  1170. Filename[1] = arg_filename
  1171. long ll_pos
  1172. ll_pos = LastPos(arg_filename, '\')
  1173. if ll_pos > 0 then
  1174. Filename[1] = mid(arg_filename, ll_pos + 1)
  1175. end if
  1176. IF i = 1 AND Trim(Pathname) <> '' THEN
  1177. IF NOT have_fj THEN
  1178. have_fj = TRUE
  1179. THIS.TriggerEvent(Resize!)
  1180. END IF
  1181. FOR ls_i = 1 TO UpperBound(Filename)
  1182. IF UpperBound(Filename) = 1 THEN
  1183. ls_filename = Pathname
  1184. ELSE
  1185. ls_filename = Pathname + '\'+Filename[ls_i]
  1186. END IF
  1187. FOR j = 1 TO lv_fj.TotalItems()
  1188. lv_fj.GetItem(j, l_lvi1)
  1189. find_name = l_lvi1.Label
  1190. IF find_name = Filename[ls_i] THEN GOTO for_next
  1191. NEXT
  1192. IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
  1193. MessageBox('系统提示',errmsg)
  1194. RETURN
  1195. END IF
  1196. ls_filesize = Len(ls_filedata)
  1197. s_lvfj.fjtype = 0
  1198. s_lvfj.relid = s_send.sendid
  1199. s_lvfj.Filename = Filename[ls_i]
  1200. s_lvfj.filesize = ls_filesize
  1201. s_lvfj.fileblob = ls_filedata
  1202. s_lvfj.filetype = C_from_file
  1203. l_lvi.PictureIndex = 1
  1204. l_lvi.Label = Filename[ls_i]
  1205. l_lvi.Data = s_lvfj
  1206. lv_fj.InsertItem(ls_i,l_lvi)
  1207. for_next:
  1208. NEXT
  1209. END IF
  1210. wf_fjcount()
  1211. end subroutine
  1212. public subroutine wf_reply (integer arg_id);//回复邮件内容
  1213. String body_txt
  1214. Long Len
  1215. string mailadd,sendadd,subject
  1216. datetime revtime
  1217. //messagebox('','ready')
  1218. SELECT DATALENGTH(htmlbody) ,mailaddress,sendaddress,revdate,subject
  1219. INTO :Len,:mailadd,:sendadd,:revtime,:subject
  1220. FROM u_email_msg
  1221. Where id = :s_set.id Using fj_tran;
  1222. IF fj_tran.SQLCode <> 0 THEN
  1223. MessageBox('提示', '查询消息长度失败,' +String(Len)+'~n'+ fj_tran.SQLErrText)
  1224. GOTO ext
  1225. END IF
  1226. //messagebox('','next')
  1227. IF Len > 2048 THEN
  1228. Blob lb
  1229. SelectBlob htmlbody Into :lb From u_email_msg
  1230. Where id = :s_set.id Using fj_tran;
  1231. IF fj_tran.SQLCode <> 0 THEN
  1232. MessageBox('提示', '查询消息块失败,' + fj_tran.SQLErrText)
  1233. GOTO ext
  1234. END IF
  1235. body_txt = String(lb)
  1236. ELSE
  1237. SELECT htmlbody INTO :body_txt FROM u_email_msg
  1238. Where id = :s_set.id Using fj_tran;
  1239. IF fj_tran.SQLCode <> 0 THEN
  1240. MessageBox('提示', '查询消息失败,' + fj_tran.SQLErrText)
  1241. GOTO ext
  1242. END IF
  1243. END IF
  1244. string head
  1245. if isnull(mailadd) then
  1246. mailadd='无'
  1247. end if
  1248. if isnull(sendadd) then
  1249. sendadd='无'
  1250. end if
  1251. if isnull(subject) then
  1252. subject='无'
  1253. end if
  1254. head=' <TR id=bodytext>'&
  1255. +'<DIV> </br> </br> </br> </br> </br> </DIV>'&
  1256. +'<DIV><SPAN > ----------原始邮件----------</br> '&
  1257. +'发件人: '+mailadd+';</br>'
  1258. if isnull(revtime) then
  1259. head+='发送时间: </br>'
  1260. else
  1261. head+='发送时间:'+string(revtime)+' </br>'
  1262. end if
  1263. head+='收件人: '+sendadd+'; </br>'&
  1264. +'主题:'+subject +'</br></br></br></SPAN></DIV>'&
  1265. +'<DIV><SPAN > </SPAN></DIV>'&
  1266. uo_html.uf_sethtml(head+body_txt+'</DIV></TD></TR>')
  1267. //uo_html.uf_setbackground('C:/Users/ASUS/Pictures/03.jpg')
  1268. ext:
  1269. end subroutine
  1270. public function integer wf_setbackground (integer arg_paperid);
  1271. Long rslt = 1,ll_ConnectionID
  1272. String pName,arg_msg,lendetail
  1273. Long pictype
  1274. string backPath ,logoPath ,bottomPath
  1275. string oldTXT
  1276. SELECT papername,papertype,lendetail
  1277. INTO :pName,:pictype,:lendetail
  1278. FROM u_email_letterpaper
  1279. WHERE paperid = :arg_paperid
  1280. Using fj_tran;
  1281. IF fj_tran.SQLCode <> 0 THEN
  1282. rslt = 0
  1283. END IF
  1284. //填充图片
  1285. Blob lb_pic,lbb_read
  1286. Long place
  1287. //messagebox("",integer(sle_1.text))
  1288. Int li_id
  1289. SelectBlob picdata
  1290. Into :lb_pic
  1291. From u_email_letterpaper
  1292. Where paperid = :arg_paperid
  1293. Using fj_tran;
  1294. IF fj_tran.SQLCode <> - 1 THEN
  1295. IF Len(lb_pic) > 0 THEN
  1296. String Len[],Name[]
  1297. Long cnt,len1,st = 1
  1298. String path,ls_msg
  1299. uo_strhelper strhelper
  1300. strhelper = create uo_strhelper
  1301. strhelper.split(lendetail,',',Ref Len)
  1302. destroy strhelper
  1303. FOR cnt = 1 To UpperBound(Len)
  1304. len1 = Long(Len[cnt])
  1305. path = 'c:\'+String(arg_paperid,'mht0000.mht')
  1306. IF FileExists(path) THEN
  1307. FileDelete(path)
  1308. END IF
  1309. IF len1 = -1 THEN
  1310. // messagebox('','-1')
  1311. Name[cnt] = ''
  1312. CONTINUE
  1313. end if
  1314. lbb_read = BlobMid(lb_pic,st,len1)
  1315. // Name[cnt] = path
  1316. f_blobtofile(path,lbb_read,ls_msg)
  1317. st += len1
  1318. NEXT
  1319. END IF
  1320. END IF
  1321. string bodytxt,tag1,bodytxt2
  1322. wf_set_oldmailContent(ref ls_msg)
  1323. uo_html.uf_navigate(path)
  1324. timer(0.5)
  1325. RETURN rslt
  1326. end function
  1327. public function string wf_get_backgroundfile (integer arg_paperid);string rslt=''
  1328. //Blob lb_pict
  1329. //string ls_msg
  1330. //
  1331. //SelectBlob pic
  1332. //Into :lb_pict
  1333. //From u_email_letterpaper
  1334. //Where paperid = :arg_paperid
  1335. //Using fj_tran;
  1336. //IF fj_tran.SQLCode <> 0 THEN
  1337. // RETURN ''
  1338. //END IF
  1339. //
  1340. //Int li_no
  1341. //String ls_filepath
  1342. //ls_filepath = 'c:\pictfile'+String(arg_paperid,'0000.jpg')
  1343. //
  1344. //IF f_blobtofile(ls_filepath,lb_pict,ls_msg) = 0 THEN
  1345. //
  1346. //END IF
  1347. //
  1348. //return ls_filepath
  1349. //Blob lb_pic,lbb_read
  1350. //Long place
  1351. //string lendetail,backPath,logoPath,bottomPath
  1352. ////messagebox("",integer(sle_1.text))
  1353. //Int li_id
  1354. ////li_id=integer(sle_1.text)
  1355. //SelectBlob picdata
  1356. //Into :lb_pic
  1357. //From u_email_letterpaper
  1358. //Where paperid = :arg_paperid
  1359. //Using fj_tran;
  1360. //IF fj_tran.SQLCode <> - 1 THEN
  1361. // IF Len(lb_pic) > 0 THEN
  1362. // // p_1.SetPicture(lb_pic)
  1363. // //ole_1.object.document.body.background=''
  1364. // String Len[],Name[]
  1365. // Long cnt,len1,st = 1
  1366. // String path,ls_msg
  1367. //
  1368. // f_split(lendetail,',',Ref Len)
  1369. // FOR cnt = 1 To UpperBound(Len)
  1370. // len1 = Long(Len[cnt])
  1371. // path = 'c:\'+String(arg_paperid,'pic0000')+String(cnt,'00.jpg')
  1372. // IF FileExists(path) THEN
  1373. // FileDelete(path)
  1374. // END IF
  1375. //
  1376. // IF len1 = -1 THEN CONTINUE
  1377. // lbb_read = BlobMid(lb_pic,st,len1)
  1378. //
  1379. // Name[cnt] = path
  1380. // f_blobtofile(path,lbb_read,ls_msg)
  1381. // st += len1
  1382. // NEXT
  1383. // backPath = Name[1]
  1384. // logoPath = Name[2]
  1385. // bottomPath = Name[3]
  1386. //// Timer(0.1)
  1387. // END IF
  1388. //ELSE
  1389. // // p_1.PictureName = ""
  1390. // //ole_1.object.document.body.background=''
  1391. //END IF
  1392. return rslt
  1393. end function
  1394. public function integer wf_addbacktofj (integer arg_paperid);Long rslt = 1
  1395. Blob lb_filedata
  1396. String ls_filepath,ls_msg
  1397. long ll_filesize,j
  1398. s_email_lvfj s_lvfj
  1399. listviewitem l_lvi
  1400. ls_filepath = 'c:\pictfile'+String(arg_paperid,'0000.jpg')
  1401. IF Not FileExists(ls_filepath) THEN
  1402. ls_filepath = wf_get_backgroundfile(arg_paperid)
  1403. END IF
  1404. IF ls_filepath <> '' THEN
  1405. IF NOT have_fj THEN
  1406. have_fj = TRUE
  1407. this.TriggerEvent(Resize!)
  1408. END IF
  1409. IF f_filetoblob(ls_filepath,lb_filedata,ls_msg) = 0 THEN
  1410. MessageBox('系统提示',ls_msg)
  1411. rslt = 0
  1412. GOTO ext
  1413. END IF
  1414. // FOR j = 1 TO lv_fj.TotalItems()
  1415. //// lv_fj.GetItem(j, l_lvi1)
  1416. // NEXT
  1417. ll_filesize = Len(lb_filedata)
  1418. s_lvfj.fjtype = 0
  1419. s_lvfj.relid = s_send.sendid
  1420. s_lvfj.Filename = 'pictfile'+String(arg_paperid,'0000.jpg')
  1421. s_lvfj.filesize = ll_filesize
  1422. s_lvfj.fileblob = lb_filedata
  1423. s_lvfj.filetype = C_from_file
  1424. l_lvi.PictureIndex = 1
  1425. l_lvi.Label ='pictfile'+String(arg_paperid,'0000.jpg')
  1426. l_lvi.Data = s_lvfj
  1427. lv_fj.InsertItem(1,l_lvi)
  1428. END IF
  1429. wf_fjcount()
  1430. ext:
  1431. RETURN rslt
  1432. end function
  1433. public function integer wf_retrieve_normal ();int rslt=1
  1434. return rslt
  1435. end function
  1436. public function integer wf_getpic_fromdb (integer arg_paperid);
  1437. Long rslt = 1,ll_ConnectionID
  1438. String pName,arg_msg,lendetail
  1439. Long pictype
  1440. string backPath ,logoPath ,bottomPath
  1441. string oldTXT
  1442. SELECT papername,papertype,lendetail
  1443. INTO :pName,:pictype,:lendetail
  1444. FROM u_email_letterpaper
  1445. WHERE paperid = :arg_paperid
  1446. Using fj_tran;
  1447. IF fj_tran.SQLCode <> 0 THEN
  1448. rslt = 0
  1449. END IF
  1450. //填充图片
  1451. Blob lb_pic,lbb_read
  1452. Long place
  1453. //messagebox("",integer(sle_1.text))
  1454. Int li_id
  1455. //li_id=integer(sle_1.text)
  1456. SelectBlob picdata
  1457. Into :lb_pic
  1458. From u_email_letterpaper
  1459. Where paperid = :arg_paperid
  1460. Using fj_tran;
  1461. IF fj_tran.SQLCode <> - 1 THEN
  1462. IF Len(lb_pic) > 0 THEN
  1463. // p_1.SetPicture(lb_pic)
  1464. //uo_htmlml.object.document.body.background=''
  1465. String Len[],Name[]
  1466. Long cnt,len1,st = 1
  1467. String path,ls_msg
  1468. f_split(lendetail,',',Ref Len)
  1469. FOR cnt = 1 To UpperBound(Len)
  1470. len1 = Long(Len[cnt])
  1471. path = 'c:\'+String(arg_paperid,'mht0000.mht')
  1472. IF FileExists(path) THEN
  1473. FileDelete(path)
  1474. END IF
  1475. IF len1 = -1 THEN
  1476. // messagebox('','-1')
  1477. Name[cnt] = ''
  1478. CONTINUE
  1479. end if
  1480. lbb_read = BlobMid(lb_pic,st,len1)
  1481. // Name[cnt] = path
  1482. f_blobtofile(path,lbb_read,ls_msg)
  1483. st += len1
  1484. NEXT
  1485. // backPath = Name[1]
  1486. // logoPath = Name[2]
  1487. // bottomPath = Name[3]
  1488. END IF
  1489. ELSE
  1490. // p_1.PictureName = ""
  1491. //uo_htmlml.object.document.body.background=''
  1492. END IF
  1493. string bodytxt,tag1,bodytxt2
  1494. //bodytxt2=char(lb_pic)
  1495. //bodytxt=uo_html.uf_style_zidingyi()
  1496. //
  1497. //tag1='logopicpath'
  1498. //place=pos(lower(bodytxt),tag1)
  1499. //bodytxt=replace(bodytxt,place,len(tag1),logoPath)
  1500. //
  1501. //tag1='bottompicpath'
  1502. //place=pos(lower(bodytxt),tag1)
  1503. //bodytxt=replace(bodytxt,place,len(tag1),bottomPath)
  1504. //
  1505. //tag1='backpicpath'
  1506. //place=pos(lower(bodytxt),tag1)
  1507. //bodytxt=replace(bodytxt,place,len(tag1),backPath)
  1508. //
  1509. //place=pos(lower(bodytxt),'contentEditable=true')
  1510. //do while place>0
  1511. // replace(lower(bodytxt),place,len('contentEditable=true'),'contentEditable=false')
  1512. // place=pos(lower(bodytxt),'contentEditable=true')
  1513. //loop
  1514. //
  1515. //place=pos(lower(bodytxt),'<img src="file:///">')
  1516. //long next1
  1517. //do while place>0
  1518. //// next1=pos(bodytxt,'>',place)
  1519. // bodytxt=replace(lower(bodytxt),place,len('<img src="file:///">'),'')
  1520. // place=pos(lower(bodytxt),'<img src="file:///">')
  1521. //loop
  1522. //
  1523. ////oldTXT=wf_get_bodytext()
  1524. ////if count=2 then
  1525. //// count=3
  1526. ////end if
  1527. ////count++
  1528. //bodytxt=wf_get_newtext(bodytxt)
  1529. //string OldContent
  1530. //a=String(lb_pic,EncodingANSI!)
  1531. //uo_html.uf_sethtml( a)
  1532. //OldContent=uo_html.uf_gethtml()
  1533. //messagebox('',OldContent)
  1534. wf_set_oldmailContent(ref ls_msg)
  1535. uo_html.uf_navigate(path)
  1536. //string newStr
  1537. //newStr=uo_html.uf_gethtml()
  1538. //newStr=wf_make_newcontent(newStr)
  1539. //uo_html.uf_sethtml(newStr)
  1540. timer(0.5)
  1541. //uo_html.uf_settext('123')
  1542. //messagebox('','OK')
  1543. //uo_html.uf_setcontentEditable('false')
  1544. RETURN rslt
  1545. end function
  1546. public subroutine wf_set_oldmailcontent (ref string arg_msg);string newContent,oldContent
  1547. long stn,enn,sto,eno
  1548. newContent=uo_html.uf_gethtml()
  1549. stn=pos(lower(newContent),'<tbody id=mailbodytext>')
  1550. if stn>0 then
  1551. enn=pos(lower(newContent),'</tbody>',stn)
  1552. if enn>0 then
  1553. newContent=mid(newContent,stn,enn - stn+len('</tbody>'))
  1554. mailContent=newContent
  1555. end if
  1556. end if
  1557. //return rslt
  1558. end subroutine
  1559. public function string wf_make_newcontent (string arg_new);String rslt = ''
  1560. String OldContent
  1561. Long stn,enn,sto,eno,st,en
  1562. String replaceContent,rpcn,rpco
  1563. Boolean ifchanges = False,ifFin = False
  1564. if count1=3 then
  1565. count1=3
  1566. end if
  1567. count1++
  1568. OldContent = mailContent
  1569. rslt = arg_new
  1570. st = Pos(Lower(arg_new),'<tbody id=mailbodytext>')
  1571. IF st <= 0 THEN GOTO ext
  1572. en = Pos(Lower(arg_new),'</tbody')
  1573. replaceContent = Mid(arg_new,st,en - st +Len('</tbody>'))
  1574. if OldContent='' then
  1575. // mailContent=replaceContent
  1576. goto ext
  1577. end if
  1578. //查看是否有更详细项替换
  1579. stn = Pos(replaceContent,'_FoxFROMNAME')
  1580. sto = Pos(OldContent,'_FoxFROMNAME')
  1581. IF stn > 0 And sto > 0 THEN
  1582. stn = Pos(replaceContent,'>',stn)
  1583. enn = Pos(replaceContent,'<',stn)
  1584. sto = Pos(OldContent,'>',sto)
  1585. eno = Pos(OldContent,'<',sto)
  1586. rpco = Mid(OldContent,sto+1,eno - sto - 1)
  1587. replaceContent=Replace(replaceContent,stn+ 1,enn - stn - 1,rpco)
  1588. ifchanges = True
  1589. END IF
  1590. stn = Pos(replaceContent,'divFMReplyBody')
  1591. sto = Pos(OldContent,'divFMReplyBody')
  1592. IF ifchanges THEN
  1593. IF stn > 0 And sto > 0 THEN
  1594. stn = Pos(replaceContent,'>',stn)
  1595. enn = Pos(replaceContent,'<',stn)
  1596. sto = Pos(OldContent,'>',sto)
  1597. eno = Pos(OldContent,'<',sto)
  1598. rpco = Mid(OldContent,sto+1,eno - sto - 1)
  1599. replaceContent=Replace(replaceContent,stn+1,enn - stn - 1,rpco)
  1600. // messagebox('',replaceContent)
  1601. ifFin = True
  1602. END IF
  1603. END IF
  1604. IF ifFin THEN
  1605. arg_new=Replace(arg_new,st,en - st +Len('</tbody>'),replaceContent)
  1606. //更新内存中旧的内容
  1607. // mailContent = replaceContent
  1608. rslt = arg_new
  1609. ELSE
  1610. IF OldContent <> '' THEN
  1611. arg_new=Replace(arg_new,st,en - st +Len('</tbody>'),OldContent)
  1612. END IF
  1613. rslt = arg_new
  1614. END IF
  1615. ext:
  1616. RETURN rslt
  1617. end function
  1618. public subroutine wf_retrieve_sign ();
  1619. Long cnt,newlist[],row
  1620. string name
  1621. datastore ds
  1622. ds = Create datastore
  1623. ds.DataObject = 'dw_email_signlist'
  1624. ds.SetTrans(fj_tran)
  1625. ds.Retrieve(publ_userid)
  1626. cnt=2
  1627. //newlist[1]=-1
  1628. FOR row = ds.RowCount() to 1 step -1
  1629. name=ds.Object.signname[row]+' ['+string(ds.object.id[row])+']'
  1630. ddlb_2.insertitem(name,1)
  1631. //newlist[cnt]=ds.object.id[row]
  1632. cnt++
  1633. NEXT
  1634. ddlb_2.insertitem('不使用签名',1)
  1635. destroy ds
  1636. //signList=newlist
  1637. ddlb_2.selectitem(1)
  1638. end subroutine
  1639. public subroutine wf_html_to_text ();
  1640. //为了解决-------原始邮件--------
  1641. //可以删的问题
  1642. //2013-07-12(荣)
  1643. //string s_text,ss,ss1,ss2
  1644. //long L_S,L_E,i
  1645. //string body
  1646. //for i=1 to 5
  1647. //ss = uo_html.uf_gethtml( )
  1648. //
  1649. //ss1=gf_getfirstinfo(ss,"<DIV><SPAN>----------原始邮件----------","</SPAN></DIV>")
  1650. //
  1651. //
  1652. //
  1653. //body='<BODY style="MARGIN: 0px" contentEditable=true><TABLE style="WIDTH: 100%; TABLE-LAYOUT: fixed; HEIGHT: 100%" border=0 cellSpacing=0 cellPadding=0 >'&
  1654. //+'<TBODY>'&
  1655. //+'<TR>'&
  1656. //+'<TD vAlign=top align=left></TD></TR>'&
  1657. //+'<TR id=bodytext>'&
  1658. //+'<TD style="PADDING-BOTTOM: 10px; LINE-HEIGHT: 1.5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT-FAMILY: 微软雅黑; COLOR: #000000; FONT-SIZE: 10.5pt; PADDING-TOP: 10px" height="100%" vAlign=top width="100%">'&
  1659. //+'<DIV id=divLEContentBody style="WIDTH: 100%; WHITE-SPACE: normal; WORD-BREAK: break-all" contentEditable=true>'&
  1660. //+'<DIV>' +'----------原始邮件----------' + ss1 + '</DIV>'&
  1661. //+'<DIV id=divLEReplyBody></br></DIV></DIV></TD></TR>'&
  1662. //+'<TR>'&
  1663. //+'<TD vAlign=bottom align=left></TD></TR></TBODY></TABLE></BODY>'
  1664. //
  1665. //ss=of_globalreplace(ss, "<DIV><SPAN>----------原始邮件----------" + ss1, body)
  1666. //next
  1667. //uo_html.uf_sethtml(ss)
  1668. //uo_html.uf_setcontenteditable('true')
  1669. oleobject images
  1670. images = uo_html.ole_web.Object.document.images
  1671. Long ll_cnt
  1672. ll_cnt = images.Length
  1673. Long i,j
  1674. oleobject lo
  1675. String ls_url
  1676. String ls_cid
  1677. ListViewItem lvi
  1678. s_email_lvfj lvfj
  1679. Blob lb
  1680. String ls_msg
  1681. Boolean findpic = False
  1682. String ls_filename
  1683. FOR i = 0 To ll_cnt - 1
  1684. lo = images.Item(i)
  1685. ls_url = lo.getAttribute("src")
  1686. IF Lower(Mid(ls_url, 1, 4)) = 'cid:' THEN
  1687. ls_cid = Mid(ls_url, 5)
  1688. SetNull(lb)
  1689. findpic = False
  1690. FOR j = 1 To lv_fj.TotalItems()
  1691. IF lv_fj.GetItem(j, lvi) = 1 THEN
  1692. lvfj = lvi.Data
  1693. IF lvfj.Filename <> ls_cid and lvfj.cid <> ls_cid THEN CONTINUE
  1694. IF lvfj.FileType = C_Sys_admsg_fj THEN
  1695. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1696. EXIT
  1697. END IF
  1698. findpic = True
  1699. ls_filename = lvfj.Filename
  1700. ELSEIF lvfj.FileType = C_u_email_fj THEN
  1701. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1702. EXIT
  1703. END IF
  1704. findpic = True
  1705. ls_filename = lvfj.Filename
  1706. END IF
  1707. EXIT
  1708. END IF
  1709. NEXT
  1710. IF findpic THEN
  1711. ls_filename = sys_cur_path+fjfilepathname+'\'+ls_filename
  1712. IF FileExists(ls_filename) THEN FileDelete(ls_filename)
  1713. IF f_blobtofile(ls_filename,lb,ls_msg) = 0 THEN
  1714. CONTINUE
  1715. END IF
  1716. lo.setAttribute("src", "file:///" + ls_filename)
  1717. END IF
  1718. END IF
  1719. NEXT
  1720. //为了解决-------原始邮件--------
  1721. //可以删的问题
  1722. //2013-07-12(荣)
  1723. //string s_text
  1724. ////ss = uo_html.uf_gethtml( )
  1725. //s_text = uo_html.uf_gettext( )
  1726. //
  1727. ////messagebox("",ss)
  1728. ////uo_html.uf_settext( ' ')
  1729. ////uo_html.uf_sethtml(' ')
  1730. //string aa,arg_text1,arg_text
  1731. //aa=char(13) + char(10)
  1732. //do while(pos(s_text,aa)>0)
  1733. // arg_text1=left(s_text,pos(s_text,aa) - 1)
  1734. // arg_text=arg_text + '<DIV>' + arg_text1 + '</DIV>'
  1735. // s_text=right(s_text,len(s_text) - pos(s_text,aa))
  1736. //
  1737. //// messagebox("",arg_text1)
  1738. // arg_text1=""
  1739. //loop
  1740. //
  1741. //
  1742. //string body
  1743. //body='<BODY style="MARGIN: 0px" contentEditable=false><TABLE style="WIDTH: 100%; TABLE-LAYOUT: fixed; HEIGHT: 100%" border=0 cellSpacing=0 cellPadding=0 >'&
  1744. //+'<TBODY>'&
  1745. //+'<TR>'&
  1746. //+'<TD vAlign=top align=left></TD></TR>'&
  1747. //+'<TR id=bodytext>'&
  1748. //+'<TD style="PADDING-BOTTOM: 10px; LINE-HEIGHT: 1.5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT-FAMILY: 微软雅黑; COLOR: #000000; FONT-SIZE: 10.5pt; PADDING-TOP: 10px" height="100%" vAlign=top width="100%">'&
  1749. //+'<DIV id=divLEContentBody style="WIDTH: 100%; WHITE-SPACE: normal; WORD-BREAK: break-all" contentEditable=true>'&
  1750. //+'<DIV>&nbsp;</DIV>'&
  1751. //+'<DIV>&nbsp;</DIV>'&
  1752. //+'<DIV>&nbsp;</DIV>'&
  1753. //+'<DIV>' + arg_text + '</DIV>'&
  1754. //+'<DIV><SPAN > </SPAN></DIV>'&
  1755. //+'<DIV><SPAN > </SPAN></DIV>'&
  1756. //+'<DIV id=divLEReplyBody></br></DIV></DIV></TD></TR>'&
  1757. //+'<TR>'&
  1758. //+'<TD vAlign=bottom align=left></TD></TR></TBODY></TABLE></BODY>'
  1759. //
  1760. //uo_html.uf_sethtml(body)
  1761. //uo_html.uf_setcontenteditable('false')
  1762. end subroutine
  1763. public function string of_globalreplace (string as_source, string as_old, string as_new);long ll_oldlen, ll_newlen, ll_pos
  1764. as_source=trim(as_source)
  1765. as_old=trim(as_old)
  1766. ll_pos = Pos(as_source,as_old)
  1767. IF ll_pos > 0 Then
  1768. ll_oldlen = Len(as_old)
  1769. ll_newlen = Len(as_new)
  1770. DO WHILE ll_pos > 0
  1771. as_source = Replace(as_source,ll_pos,ll_oldlen,as_new)
  1772. ll_pos = Pos(as_source,as_old,ll_pos + ll_newlen)
  1773. LOOP
  1774. END IF
  1775. RETURN as_source
  1776. end function
  1777. public function string gf_getfirstinfo (string as_source, string as_bef, string as_aft);string ls_rtn
  1778. string ls_bef
  1779. string ls_aft
  1780. string ls_bef_after//DT = '后面的字符串
  1781. long ll_pos1,ll_pos2
  1782. ls_bef=as_bef
  1783. ls_aft=as_aft
  1784. as_source=as_source
  1785. ll_pos1=pos(as_source,ls_bef)
  1786. if ll_pos1>0 then
  1787. ls_bef_after=mid(as_source,ll_pos1 + len(ls_bef),len(as_source) - ll_pos1 - len(ls_bef))
  1788. ll_pos2=pos(ls_bef_after,ls_aft)
  1789. ls_rtn=mid(ls_bef_after,1,ll_pos2 - 1)
  1790. end if
  1791. return ls_rtn
  1792. end function
  1793. public subroutine wf_addfj (string pathname, string filename[]);Long i,j
  1794. Long ls_i,ls_j,ls_newrow,ls_filesize
  1795. Blob ls_filedata
  1796. String ls_filename
  1797. String errmsg
  1798. s_email_lvfj s_lvfj
  1799. String find_name
  1800. listviewitem l_lvi,l_lvi1
  1801. //i = GetFileSaveName("选择附件",Pathname,Filename[],"*","所有文件,*.*")
  1802. IF i = 1 AND Trim(Pathname) <> '' THEN
  1803. IF NOT have_fj THEN
  1804. have_fj = TRUE
  1805. THIS.TriggerEvent(Resize!)
  1806. END IF
  1807. FOR ls_i = 1 TO UpperBound(Filename)
  1808. IF UpperBound(Filename) = 1 THEN
  1809. ls_filename = Pathname
  1810. ELSE
  1811. ls_filename = Pathname + '\'+Filename[ls_i]
  1812. END IF
  1813. FOR j = 1 TO lv_fj.TotalItems()
  1814. lv_fj.GetItem(j, l_lvi1)
  1815. find_name = l_lvi1.Label
  1816. IF find_name = Filename[ls_i] THEN GOTO for_next
  1817. NEXT
  1818. IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
  1819. MessageBox('系统提示',errmsg)
  1820. RETURN
  1821. END IF
  1822. ls_filesize = Len(ls_filedata)
  1823. s_lvfj.fjtype = 0
  1824. s_lvfj.relid = s_send.sendid
  1825. s_lvfj.Filename = Filename[ls_i]
  1826. s_lvfj.filesize = ls_filesize
  1827. s_lvfj.fileblob = ls_filedata
  1828. s_lvfj.filetype = C_from_file
  1829. l_lvi.PictureIndex = 1
  1830. l_lvi.Label = Filename[ls_i]
  1831. l_lvi.Data = s_lvfj
  1832. lv_fj.InsertItem(ls_i,l_lvi)
  1833. for_next:
  1834. NEXT
  1835. END IF
  1836. wf_fjcount()
  1837. end subroutine
  1838. public subroutine wf_html_set (string arg_text);//DO WHILE IsNull(ole_1.Object.document.body)
  1839. // Yield()
  1840. //LOOP
  1841. //
  1842. //string arg_text_old
  1843. //arg_text_old=arg_text
  1844. //IF IsNull(arg_text) THEN arg_text = ''
  1845. //IF IsNull(lss_revdate) Or lss_revdate = "" THEN
  1846. // arg_text = '<DIV>主题: ' +lss_subject + '</DIV><DIV>发件人: ' + lss_sendman + '</DIV> <DIV>发件时间: '+ lss_senddate + '</DIV> <DIV>----------------------------------------------</DIV>' +arg_text
  1847. //ELSEIF IsNull(lss_senddate) Or lss_senddate = "" THEN
  1848. // arg_text = '<DIV>主题: ' +lss_subject + '</DIV><DIV>发件人: ' + lss_sendman + '</DIV> <DIV>发件时间: '+ lss_revdate + '</DIV> <DIV>----------------------------------------------</DIV>' +arg_text
  1849. //ELSE
  1850. //END IF
  1851. //IF IsNull(arg_text) THEN arg_text =arg_text_old
  1852. ////messagebox("",arg_text)
  1853. ////Clipboard(arg_text)
  1854. //ole_1.Object.document.body.innerhtml = arg_text
  1855. //
  1856. //String ls_state
  1857. //ls_state = ole_1.Object.document.readyState
  1858. //DO WHILE ls_state <> 'complete'
  1859. // Yield()
  1860. // ls_state = ole_1.Object.document.readyState
  1861. //LOOP
  1862. //
  1863. //oleobject images
  1864. //images = ole_1.Object.document.images
  1865. //
  1866. //Long ll_cnt
  1867. //ll_cnt = images.Length
  1868. //
  1869. //Long i,j
  1870. //oleobject lo
  1871. //String ls_url
  1872. //String ls_cid
  1873. //ListViewItem lvi
  1874. //s_email_lvfj lvfj
  1875. //Blob lb
  1876. //String ls_msg
  1877. //Boolean findpic = False
  1878. //String ls_filename
  1879. //
  1880. //FOR i = 0 To ll_cnt - 1
  1881. // lo = images.Item(i)
  1882. // ls_url = lo.getAttribute("src")
  1883. // IF Lower(Mid(ls_url, 1, 4)) = 'cid:' THEN
  1884. // ls_cid = Mid(ls_url, 5)
  1885. // SetNull(lb)
  1886. // findpic = False
  1887. // FOR j = 1 To lv_fj.TotalItems()
  1888. // IF lv_fj.GetItem(j, lvi) = 1 THEN
  1889. // lvfj = lvi.Data
  1890. // IF lvfj.Filename <> ls_cid and lvfj.cid <> ls_cid THEN CONTINUE
  1891. //
  1892. // IF lvfj.FileType = C_Sys_admsg_fj THEN
  1893. // IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1894. // EXIT
  1895. // END IF
  1896. // findpic = True
  1897. // ls_filename = lvfj.Filename
  1898. // ELSEIF lvfj.FileType = C_u_email_fj THEN
  1899. // IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1900. // EXIT
  1901. // END IF
  1902. // findpic = True
  1903. // ls_filename = lvfj.Filename
  1904. // END IF
  1905. // EXIT
  1906. // END IF
  1907. // NEXT
  1908. //
  1909. // IF findpic THEN
  1910. // ls_filename = sys_cur_path+fjfilepathname+'\'+ls_filename
  1911. // IF FileExists(ls_filename) THEN FileDelete(ls_filename)
  1912. //
  1913. // IF f_blobtofile(ls_filename,lb,ls_msg) = 0 THEN
  1914. // CONTINUE
  1915. // END IF
  1916. // lo.setAttribute("src", "file:///" + ls_filename)
  1917. // END IF
  1918. //
  1919. // END IF
  1920. //NEXT
  1921. //
  1922. //
  1923. //
  1924. //
  1925. //
  1926. //
  1927. end subroutine
  1928. public subroutine wf_makerevtext_cc ();long i, ll_row
  1929. dw_cc.accepttext( )
  1930. ll_row = dw_cc.rowcount( )
  1931. mle_cc.text = ''
  1932. if ll_row = 0 then
  1933. return
  1934. end if
  1935. for i = 1 to ll_row
  1936. mle_cc.Text = mle_cc.text + trim(dw_cc.object.revname[i])+ '<' + trim(dw_cc.object.revaddress[i] )+ '>;'
  1937. next
  1938. mle_cc.Text = left(mle_cc.Text, len(mle_cc.text) - 1)
  1939. end subroutine
  1940. public subroutine uf_updaterevlist_cc ();long index, reltype, j
  1941. index = 1
  1942. do while index <= dw_cc.rowcount()
  1943. j = index + 1
  1944. do while j <= dw_cc.rowcount( )
  1945. if dw_cc.object.revaddress[index] = dw_cc.object.revaddress[j] then
  1946. dw_cc.deleterow(j)
  1947. else
  1948. j++
  1949. end if
  1950. loop
  1951. index ++
  1952. loop
  1953. wf_makerevtext_cc()
  1954. end subroutine
  1955. public subroutine wf_makerevlist_cc ();string ls_name, ls_address
  1956. long ll_pos
  1957. long ll_row
  1958. string ls_arg, ls_mail
  1959. ls_arg = mle_cc.text
  1960. long ll_first, ll_sec
  1961. dw_cc.reset()
  1962. dw_cc.accepttext( )
  1963. ll_first = 1
  1964. do while (ll_first <= len(ls_arg))
  1965. ll_sec = pos(ls_arg, ';', ll_first)
  1966. if ll_sec = 0 then
  1967. ll_sec = len(ls_arg)
  1968. else
  1969. ll_sec = ll_sec - 1
  1970. end if
  1971. if ll_sec < ll_first then
  1972. ll_first ++
  1973. continue;
  1974. end if
  1975. ls_mail = mid(ls_arg, ll_first, ll_sec - ll_first + 1)
  1976. ll_pos = pos(ls_mail, '<', 1)
  1977. if ll_pos = 0 then
  1978. ls_name = ls_mail
  1979. ls_address = ls_mail
  1980. else
  1981. ls_name = left(ls_mail, ll_pos - 1)
  1982. ls_address = mid(ls_mail, ll_pos + 1, len(ls_mail) - ll_pos)
  1983. ll_pos = pos(ls_address, '>', 1)
  1984. ls_address = left(ls_address, ll_pos - 1)
  1985. end if
  1986. ll_row = dw_cc.InsertRow(0)
  1987. dw_cc.Object.sendid[ll_row] = s_send.sendid
  1988. dw_cc.Object.printid[ll_row] = ll_row
  1989. dw_cc.Object.reltype[ll_row] = 3
  1990. dw_cc.Object.relid[ll_row] = 0
  1991. dw_cc.Object.revaddress[ll_row] = ls_address
  1992. dw_cc.Object.revname[ll_row] = ls_name
  1993. dw_cc.Object.dscrp[ll_row] = ''
  1994. dw_cc.Object.addtype[ll_row] = 'Cc'
  1995. dw_cc.accepttext( )
  1996. ll_first = ll_sec + 2
  1997. loop
  1998. dw_cc.accepttext( )
  1999. end subroutine
  2000. public subroutine wf_move_cc ();Integer i,j,ll_row1
  2001. FOR i = dw_revlist.RowCount() To 1 Step -1
  2002. IF dw_revlist.Object.reltype[i] = 99 THEN //抄送
  2003. ll_row1 = dw_cc.InsertRow(0)
  2004. dw_cc.Object.isselect[ll_row1] = dw_revlist.Object.isselect[i]
  2005. dw_cc.Object.sendid[ll_row1] = dw_revlist.Object.sendid[i]
  2006. dw_cc.Object.printid[ll_row1] = ll_row1
  2007. dw_cc.Object.reltype[ll_row1] = 99
  2008. dw_cc.Object.relid[ll_row1] = dw_revlist.Object.relid[i]
  2009. dw_cc.Object.revaddress[ll_row1] = dw_revlist.Object.revaddress[i]
  2010. dw_cc.Object.revname[ll_row1] = dw_revlist.Object.revname[i]
  2011. dw_cc.Object.dscrp[ll_row1] = dw_revlist.Object.dscrp[i]
  2012. dw_cc.Object.repname[ll_row1] = dw_revlist.Object.repname[i]
  2013. dw_cc.Object.addtype[ll_row1] = dw_revlist.Object.addtype[i]
  2014. END IF
  2015. NEXT
  2016. next1:
  2017. FOR i = 1 To dw_revlist.RowCount()
  2018. IF dw_revlist.Object.reltype[i] = 99 THEN
  2019. dw_revlist.DeleteRow(i)
  2020. GOTO next1
  2021. END IF
  2022. NEXT
  2023. wf_makerevtext_cc()
  2024. end subroutine
  2025. on w_email_send_new.create
  2026. int iCurrent
  2027. call super::create
  2028. this.cb_save=create cb_save
  2029. this.cb_fj=create cb_fj
  2030. this.cb_change=create cb_change
  2031. this.lv_fj=create lv_fj
  2032. this.cb_6=create cb_6
  2033. this.cb_7=create cb_7
  2034. this.cb_9=create cb_9
  2035. this.cbx_1=create cbx_1
  2036. this.cb_1=create cb_1
  2037. this.cb_2=create cb_2
  2038. this.cb_fornextsend=create cb_fornextsend
  2039. this.st_1=create st_1
  2040. this.em_priority=create em_priority
  2041. this.st_2=create st_2
  2042. this.st_3=create st_3
  2043. this.st_4=create st_4
  2044. this.st_5=create st_5
  2045. this.st_6=create st_6
  2046. this.st_7=create st_7
  2047. this.st_9=create st_9
  2048. this.sle_subject=create sle_subject
  2049. this.st_10=create st_10
  2050. this.sle_mailuser=create sle_mailuser
  2051. this.sle_mailaddress=create sle_mailaddress
  2052. this.sle_mailtype=create sle_mailtype
  2053. this.em_mailsize=create em_mailsize
  2054. this.sle_opemp=create sle_opemp
  2055. this.em_opdate=create em_opdate
  2056. this.em_senddate=create em_senddate
  2057. this.sp_v1=create sp_v1
  2058. this.cb_3=create cb_3
  2059. this.cb_4=create cb_4
  2060. this.uo_html=create uo_html
  2061. this.st_11=create st_11
  2062. this.pb_1=create pb_1
  2063. this.ddlb_normalflag=create ddlb_normalflag
  2064. this.st_8=create st_8
  2065. this.cb_5=create cb_5
  2066. this.st_12=create st_12
  2067. this.tab_1=create tab_1
  2068. this.ln_bar=create ln_bar
  2069. this.ln_bar2=create ln_bar2
  2070. this.r_bar=create r_bar
  2071. this.ddlb_2=create ddlb_2
  2072. this.cb_8=create cb_8
  2073. this.mle_revlist=create mle_revlist
  2074. this.cbx_auto=create cbx_auto
  2075. this.cb_send=create cb_send
  2076. this.cbx_hz=create cbx_hz
  2077. this.cbx_2=create cbx_2
  2078. this.cbx_3=create cbx_3
  2079. this.cb_11=create cb_11
  2080. this.st_cc=create st_cc
  2081. this.mle_cc=create mle_cc
  2082. this.pb_cc=create pb_cc
  2083. iCurrent=UpperBound(this.Control)
  2084. this.Control[iCurrent+1]=this.cb_save
  2085. this.Control[iCurrent+2]=this.cb_fj
  2086. this.Control[iCurrent+3]=this.cb_change
  2087. this.Control[iCurrent+4]=this.lv_fj
  2088. this.Control[iCurrent+5]=this.cb_6
  2089. this.Control[iCurrent+6]=this.cb_7
  2090. this.Control[iCurrent+7]=this.cb_9
  2091. this.Control[iCurrent+8]=this.cbx_1
  2092. this.Control[iCurrent+9]=this.cb_1
  2093. this.Control[iCurrent+10]=this.cb_2
  2094. this.Control[iCurrent+11]=this.cb_fornextsend
  2095. this.Control[iCurrent+12]=this.st_1
  2096. this.Control[iCurrent+13]=this.em_priority
  2097. this.Control[iCurrent+14]=this.st_2
  2098. this.Control[iCurrent+15]=this.st_3
  2099. this.Control[iCurrent+16]=this.st_4
  2100. this.Control[iCurrent+17]=this.st_5
  2101. this.Control[iCurrent+18]=this.st_6
  2102. this.Control[iCurrent+19]=this.st_7
  2103. this.Control[iCurrent+20]=this.st_9
  2104. this.Control[iCurrent+21]=this.sle_subject
  2105. this.Control[iCurrent+22]=this.st_10
  2106. this.Control[iCurrent+23]=this.sle_mailuser
  2107. this.Control[iCurrent+24]=this.sle_mailaddress
  2108. this.Control[iCurrent+25]=this.sle_mailtype
  2109. this.Control[iCurrent+26]=this.em_mailsize
  2110. this.Control[iCurrent+27]=this.sle_opemp
  2111. this.Control[iCurrent+28]=this.em_opdate
  2112. this.Control[iCurrent+29]=this.em_senddate
  2113. this.Control[iCurrent+30]=this.sp_v1
  2114. this.Control[iCurrent+31]=this.cb_3
  2115. this.Control[iCurrent+32]=this.cb_4
  2116. this.Control[iCurrent+33]=this.uo_html
  2117. this.Control[iCurrent+34]=this.st_11
  2118. this.Control[iCurrent+35]=this.pb_1
  2119. this.Control[iCurrent+36]=this.ddlb_normalflag
  2120. this.Control[iCurrent+37]=this.st_8
  2121. this.Control[iCurrent+38]=this.cb_5
  2122. this.Control[iCurrent+39]=this.st_12
  2123. this.Control[iCurrent+40]=this.tab_1
  2124. this.Control[iCurrent+41]=this.ln_bar
  2125. this.Control[iCurrent+42]=this.ln_bar2
  2126. this.Control[iCurrent+43]=this.r_bar
  2127. this.Control[iCurrent+44]=this.ddlb_2
  2128. this.Control[iCurrent+45]=this.cb_8
  2129. this.Control[iCurrent+46]=this.mle_revlist
  2130. this.Control[iCurrent+47]=this.cbx_auto
  2131. this.Control[iCurrent+48]=this.cb_send
  2132. this.Control[iCurrent+49]=this.cbx_hz
  2133. this.Control[iCurrent+50]=this.cbx_2
  2134. this.Control[iCurrent+51]=this.cbx_3
  2135. this.Control[iCurrent+52]=this.cb_11
  2136. this.Control[iCurrent+53]=this.st_cc
  2137. this.Control[iCurrent+54]=this.mle_cc
  2138. this.Control[iCurrent+55]=this.pb_cc
  2139. end on
  2140. on w_email_send_new.destroy
  2141. call super::destroy
  2142. destroy(this.cb_save)
  2143. destroy(this.cb_fj)
  2144. destroy(this.cb_change)
  2145. destroy(this.lv_fj)
  2146. destroy(this.cb_6)
  2147. destroy(this.cb_7)
  2148. destroy(this.cb_9)
  2149. destroy(this.cbx_1)
  2150. destroy(this.cb_1)
  2151. destroy(this.cb_2)
  2152. destroy(this.cb_fornextsend)
  2153. destroy(this.st_1)
  2154. destroy(this.em_priority)
  2155. destroy(this.st_2)
  2156. destroy(this.st_3)
  2157. destroy(this.st_4)
  2158. destroy(this.st_5)
  2159. destroy(this.st_6)
  2160. destroy(this.st_7)
  2161. destroy(this.st_9)
  2162. destroy(this.sle_subject)
  2163. destroy(this.st_10)
  2164. destroy(this.sle_mailuser)
  2165. destroy(this.sle_mailaddress)
  2166. destroy(this.sle_mailtype)
  2167. destroy(this.em_mailsize)
  2168. destroy(this.sle_opemp)
  2169. destroy(this.em_opdate)
  2170. destroy(this.em_senddate)
  2171. destroy(this.sp_v1)
  2172. destroy(this.cb_3)
  2173. destroy(this.cb_4)
  2174. destroy(this.uo_html)
  2175. destroy(this.st_11)
  2176. destroy(this.pb_1)
  2177. destroy(this.ddlb_normalflag)
  2178. destroy(this.st_8)
  2179. destroy(this.cb_5)
  2180. destroy(this.st_12)
  2181. destroy(this.tab_1)
  2182. destroy(this.ln_bar)
  2183. destroy(this.ln_bar2)
  2184. destroy(this.r_bar)
  2185. destroy(this.ddlb_2)
  2186. destroy(this.cb_8)
  2187. destroy(this.mle_revlist)
  2188. destroy(this.cbx_auto)
  2189. destroy(this.cb_send)
  2190. destroy(this.cbx_hz)
  2191. destroy(this.cbx_2)
  2192. destroy(this.cbx_3)
  2193. destroy(this.cb_11)
  2194. destroy(this.st_cc)
  2195. destroy(this.mle_cc)
  2196. destroy(this.pb_cc)
  2197. end on
  2198. event resize;call super::resize;ln_bar.EndX = THIS.Width
  2199. ln_bar2.EndX = THIS.Width
  2200. r_bar.Width = THIS.Width
  2201. Long w_width,w_height
  2202. w_width = 3602
  2203. w_height = 2300
  2204. IF newwidth < w_width THEN THIS.Width = w_width
  2205. IF newheight < w_height THEN THIS.Height = w_height
  2206. sle_subject.width = this.width - sle_subject.x - 68
  2207. mle_revlist.width = sle_subject.width - pb_1.width
  2208. pb_1.x = mle_revlist.x + mle_revlist.width
  2209. //long ll_mover
  2210. //ll_mover = this.width - 40 - uo_1.width
  2211. //uo_1.uo_1.width = uo_1.uo_1.width + ll_mover
  2212. //uo_1.width = this.width - 40
  2213. //uo_1.height = this.height - uo_1.y - 150
  2214. tab_1.y=uo_html.y
  2215. uo_html.Width = THIS.Width - 40 - tab_1.Width
  2216. lv_fj.Width = uo_html.Width
  2217. tab_1.x = uo_html.Width + uo_html.x + 20
  2218. sp_v1.x = uo_html.width + uo_html.x
  2219. cb_6.X = tab_1.X
  2220. cb_7.X = cb_6.X + cb_6.Width
  2221. cb_9.X = cb_7.X + cb_7.Width
  2222. cbx_1.X = cb_9.X + cb_9.Width + 30
  2223. cb_1.X = cbx_1.X + cbx_1.Width + 30
  2224. //IF cb_1.Text <> '︽' THEN
  2225. // tab_1.Height = THIS.Height - tab_1.y - 100
  2226. //// tv_1.Visible = FALSE
  2227. //ELSE
  2228. // tab_1.Height = (THIS.Height - tab_1.y - 84 ) /2 - 5
  2229. //// tv_1.Height = tab_1.Height - 134
  2230. //// sle_filter.y = tab_1.Y + tab_1.Height
  2231. //// tv_1.Y = tab_1.Y + tab_1.Height + 89
  2232. //// tv_1.Visible = TRUE
  2233. //END IF
  2234. tab_1.Height = THIS.Height - tab_1.y - 150
  2235. IF have_fj THEN
  2236. uo_html.Height = THIS.Height - uo_html.y - lv_fj.Height - 150
  2237. lv_fj.Visible = TRUE
  2238. ELSE
  2239. uo_html.Height = THIS.Height - uo_html.y - 150
  2240. lv_fj.Visible = FALSE
  2241. END IF
  2242. lv_fj.Y = uo_html.Y + uo_html.Height + 5
  2243. sp_v1.height = this.height - sp_v1.y - 150
  2244. dw_revlist.width=tab_1.tabpage_1.width
  2245. dw_revlist.height=tab_1.tabpage_1.height
  2246. dw_revlist.x=0
  2247. dw_revlist.y=0
  2248. tab_1.tabpage_2.dw_2.width=tab_1.tabpage_2.width
  2249. tab_1.tabpage_2.dw_2.height=tab_1.tabpage_2.height
  2250. tab_1.tabpage_3.dw_cc.width=tab_1.tabpage_2.width
  2251. tab_1.tabpage_3.dw_cc.height=tab_1.tabpage_2.height
  2252. end event
  2253. event open;commit_tran = sqlca
  2254. dw_revlist = tab_1.tabpage_1.dw_1
  2255. dw_cc= tab_1.tabpage_3.dw_cc
  2256. dw_2 = tab_1.tabpage_2.dw_2
  2257. //cb_8.visible=false
  2258. Long ll_ConnectionID
  2259. String arg_msg
  2260. Int li_ifexit = 0
  2261. IF sys_email_sqlca.DBHandle() > 0 THEN
  2262. fj_tran = sys_email_sqlca
  2263. ELSE
  2264. MessageBox('系统提示','要使用邮件功能,请先定义邮件数据库')
  2265. li_ifexit = 1
  2266. END IF
  2267. IF li_ifexit = 0 THEN
  2268. dw_revlist.SetTransObject (fj_tran)
  2269. dw_cc.SetTransObject (fj_tran)
  2270. tab_1.tabpage_2.dw_2.SetTransObject(fj_tran)
  2271. // tab_1.tabpage_2.dw_2.retrieve(publ_userid,paperStyle)
  2272. obj_email = Create uo_email
  2273. obj_email.commit_tran = commit_tran
  2274. obj_email.fj_tran = fj_tran
  2275. String ls_msg
  2276. s_set = Message.PowerObjectParm
  2277. IF wf_init(ls_msg) = 0 THEN
  2278. MessageBox('错误',ls_msg,stopsign!,OK!)
  2279. RETURN
  2280. END IF
  2281. wf_fjcount()
  2282. Long sp_v1_x
  2283. sp_v1_x = Long(f_ProfileString(sys_empid, "w_email_send_sp_v1", "x", '2624'))
  2284. sp_v1.X = sp_v1_x
  2285. uo_html.Width = sp_v1.X - 5
  2286. lv_fj.Width = sp_v1.X - 5
  2287. dw_revlist.X = sp_v1.X + 5
  2288. sp_v1.of_reset()
  2289. sp_v1.of_register(uo_html, sp_v1.Left)
  2290. sp_v1.of_register(lv_fj, sp_v1.Left)
  2291. sp_v1.of_register(dw_revlist, sp_v1.Right)
  2292. sp_v1.uf_possplitbar(uo_html)
  2293. This.TriggerEvent(Resize!)
  2294. ELSE
  2295. cb_exit.PostEvent(Clicked!)
  2296. END IF
  2297. //未完成功能隐藏
  2298. //tab_1.tabpage_2.visible=false
  2299. datastore ds
  2300. ds = Create datastore
  2301. ds.DataObject = 'dw_email_paperstyle'
  2302. ds.SetTrans(fj_tran)
  2303. ds.Retrieve()
  2304. Long cnt
  2305. tab_1.tabpage_2.ddlb_1.Clear()
  2306. FOR cnt = 1 To ds.RowCount()
  2307. tab_1.tabpage_2.ddlb_1.AddItem(ds.Object.Style[cnt])
  2308. NEXT
  2309. IF ds.RowCount() > 0 THEN
  2310. tab_1.tabpage_2.ddlb_1.SelectItem(1)
  2311. paperStyle = tab_1.tabpage_2.ddlb_1.Text
  2312. END IF
  2313. Destroy ds
  2314. wf_retrieve_sign()
  2315. //回复带内容
  2316. IF s_set.ID <> 0 THEN
  2317. wf_reply(s_set.ID)
  2318. GOTO next1
  2319. END IF
  2320. String body
  2321. body = ' <TBODY>'&
  2322. +'<DIV>&nbsp;</DIV>'&
  2323. +' <TR>'&
  2324. +' <TD vAlign=top align=left></TD></TR>'&
  2325. +' <TR id=bodytext>'&
  2326. +' <TD '&
  2327. +' style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10.5pt; PADDING-BOTTOM: 10px; COLOR: #000000; LINE-HEIGHT: 1.5; PADDING-TOP: 10px; FONT-FAMILY: 微软雅黑" '&
  2328. +' vAlign=top width="100%" height="100%">'&
  2329. +' <HR id=FMSigSeperator style="WIDTH: 210px; HEIGHT: 1px" align=left '&
  2330. +' color=#b5c4df SIZE=1>'&
  2331. +' &nbsp;</TD></TR>'&
  2332. +' <TR>'&
  2333. +' <TD vAlign=bottom align=left></TD></TR></TBODY></TABLE></BODY>'&
  2334. +' <DIV id=signName style="MARGIN-TOP: 0px; cellpadding: 0px; cellspacing: 0px" width="100%" height="100%" valign="top"> </DIV id=signName>'
  2335. //body='<BODY style="MARGIN: 0px" contentEditable=false><TABLE style="WIDTH: 100%; TABLE-LAYOUT: fixed; HEIGHT: 100%" border=0 cellSpacing=0 cellPadding=0 >'&
  2336. //+'<TBODY>'&
  2337. //+'<TR>'&
  2338. //+'<TD vAlign=top align=left></TD></TR>'&
  2339. //+'<TR id=bodytext>'&
  2340. //+'<TD style="PADDING-BOTTOM: 10px; LINE-HEIGHT: 1.5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT-FAMILY: 微软雅黑; COLOR: #000000; FONT-SIZE: 10.5pt; PADDING-TOP: 10px" height="100%" vAlign=top width="100%">'&
  2341. //+'<DIV id=divLEContentBody style="WIDTH: 100%; WHITE-SPACE: normal; WORD-BREAK: break-all" contentEditable=true>'&
  2342. //+'<DIV>&nbsp;</DIV>'&
  2343. //+'<DIV>&nbsp;</DIV>'&
  2344. //+'<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1>'&
  2345. //+'<DIV><SPAN > </SPAN></DIV>'&
  2346. //+'<DIV><SPAN > </SPAN></DIV>'&
  2347. //+'<DIV id=divLEReplyBody></br></DIV></DIV></TD></TR>'&
  2348. //+'<TR>'&
  2349. //+'<TD vAlign=bottom align=left></TD></TR></TBODY></TABLE></BODY>'
  2350. uo_html.uf_sethtml(body)
  2351. //uo_html.uf_getfont()
  2352. //uo_html.uf_setcontenteditable('false')
  2353. wf_html_to_text() //为了解决-------原始邮件--------
  2354. //可以删的问题
  2355. next1:
  2356. uo_html.uf_setcontenteditable('true')
  2357. uo_html.uf_getfont()
  2358. tab_1.tabpage_2.dw_2.Retrieve(publ_userid,paperStyle)
  2359. wf_html_to_text() //为了解决-------原始邮件--------图片
  2360. wf_move_cc()
  2361. if s_set.reltype<>3 then
  2362. this.ddlb_2.text=ddlb_2.text(2)
  2363. ddlb_2.trigger event selectionchanged(2)
  2364. end if
  2365. //可以删的问题
  2366. end event
  2367. event ue_before_open;call super::ue_before_open;////dw_rep = tab_1.tabpage_1.dw_rep
  2368. ////dw_cust = tab_1.tabpage_3.dw_cust
  2369. ////dw_cust_rep = tab_1.tabpage_3.dw_cust_rep
  2370. ////dw_spt = tab_1.tabpage_4.dw_spt
  2371. ////dw_spt_rep = tab_1.tabpage_4.dw_spt_rep
  2372. ////dw_rep.SetTransObject (sqlca)
  2373. ////dw_cust.SetTransObject (sqlca)
  2374. ////dw_spt.SetTransObject (sqlca)
  2375. //
  2376. //commit_tran = sqlca
  2377. //
  2378. //Long ll_ConnectionID
  2379. //string arg_msg
  2380. //IF sys_email_sqlca.DBHandle() > 0 THEN
  2381. // fj_tran = sys_email_sqlca
  2382. //else
  2383. // messagebox('系统提示','要使用邮件功能,请先定义邮件数据库')
  2384. // close(this)
  2385. //end if
  2386. //
  2387. //dw_revlist.SetTransObject (fj_tran)
  2388. ////dw_cust_rep.SetTransObject (sqlca)
  2389. ////dw_spt_rep.SetTransObject (sqlca)
  2390. //obj_email = CREATE uo_email
  2391. //obj_email.commit_tran = Commit_Tran
  2392. //obj_email.fj_tran = fj_tran
  2393. //
  2394. ////IF NOT f_power_ind(1321) THEN
  2395. //// tab_1.tabpage_3.Visible = FALSE
  2396. ////END IF
  2397. //
  2398. //
  2399. ////IF NOT f_power_ind(1322) THEN
  2400. //// tab_1.tabpage_4.Visible = FALSE
  2401. ////END IF
  2402. //
  2403. end event
  2404. event close;call super::close;uo_html.uf_setfont()
  2405. destroy obj_email
  2406. end event
  2407. event timer;call super::timer;//if not ib_InitHtml then
  2408. // if isnull(s_send.htmlbody) or len(s_send.htmlbody) <= 0 then
  2409. // if uo_html.uf_sethtml(s_send.textbody) = 1 then
  2410. // ib_InitHtml = true
  2411. // timer(0)
  2412. // end if
  2413. // else
  2414. // if uo_html.uf_sethtml(string(s_send.htmlbody)) = 1 then
  2415. // ib_InitHtml = true
  2416. // timer(0)
  2417. // end if
  2418. // end if
  2419. //end if
  2420. timer(0)
  2421. string newStr
  2422. //messagebox('','timer')
  2423. newStr=uo_html.uf_gethtml()
  2424. //messagebox('1',newStr)
  2425. newStr=wf_make_newcontent(newStr)
  2426. //messagebox('2',newStr)
  2427. uo_html.uf_sethtml(newStr)
  2428. end event
  2429. event other;call super::other;////在窗口的other事件编写脚本:
  2430. ////处理系统热键
  2431. //
  2432. //IF wparam = atomid And atomid <> 0 THEN
  2433. // //处理
  2434. // wf_picturetofile()
  2435. //END IF
  2436. //TRY
  2437. // IF Not IsNull(ClassName(GetFocus())) THEN
  2438. //
  2439. // IF ClassName(GetFocus()) <> "ole_web" THEN
  2440. // MessageBox("",ClassName(GetFocus()))
  2441. // ELSE
  2442. // RETURN
  2443. // END IF
  2444. // END IF
  2445. //
  2446. //
  2447. //
  2448. //Catch(runtimeerror err)
  2449. //
  2450. // RETURN
  2451. //END TRY
  2452. ////注册热键
  2453. //long ll_RC
  2454. //string ls_atomid
  2455. //ls_atomid = 'myatomid'
  2456. //atomid = GlobalAddAtom(ls_atomid)
  2457. //sys_handle=Handle(this)
  2458. ////得到惟一的ID,保证不和其他应用程序发生冲突
  2459. //ll_RC = RegisterHotKey(sys_handle, atomid, MOD_CONTROL , 86)
  2460. ////注册的热键为Ctrl+F ,70为'F' 86 v
  2461. ////如果组合键,可用MOD_CONTROL + MOD_ALT等ctrl +v
  2462. //if ll_RC = 0 then messagebox("Error!","热键注册错误")
  2463. ////热键注册冲突
  2464. //constant integer MOD_ALT = 1 //ALT键
  2465. //constant integer MOD_CONTROL = 2 //CTRL键
  2466. //constant integer MOD_SHIFT = 4 //SHIFT键
  2467. //
  2468. end event
  2469. type cb_func from w_publ_base`cb_func within w_email_send_new
  2470. boolean visible = false
  2471. integer x = 1426
  2472. integer width = 151
  2473. integer height = 164
  2474. end type
  2475. type cb_exit from w_publ_base`cb_exit within w_email_send_new
  2476. integer x = 1632
  2477. integer y = 4
  2478. integer width = 165
  2479. integer height = 156
  2480. integer picsize = 16
  2481. toolbaralignment pic_align = alignattop!
  2482. boolean border = false
  2483. end type
  2484. type cb_save from uo_imflatbutton within w_email_send_new
  2485. integer x = 768
  2486. integer width = 288
  2487. integer height = 164
  2488. integer taborder = 30
  2489. boolean bringtotop = true
  2490. string text = "保存并退出"
  2491. string normalpicname = "email_saveexit.bmp"
  2492. integer picsize = 16
  2493. toolbaralignment pic_align = alignattop!
  2494. boolean border = false
  2495. end type
  2496. event clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  2497. String ls_msg
  2498. if sle_mailtype.text <> '未发' then
  2499. // 另存
  2500. s_send.sendid = 0
  2501. sle_mailtype.text = '未发'
  2502. end if
  2503. IF wf_save(ls_msg) = 0 THEN
  2504. MessageBox('错误',ls_msg, StopSign!, OK! )
  2505. ELSE
  2506. MessageBox('提示',"保存成功!", Information!, OK! )
  2507. END IF
  2508. Close(PARENT)
  2509. end event
  2510. type cb_fj from uo_imflatbutton within w_email_send_new
  2511. integer x = 1225
  2512. integer width = 165
  2513. integer height = 164
  2514. integer taborder = 40
  2515. boolean bringtotop = true
  2516. string text = "附件"
  2517. string normalpicname = "email_fj.bmp"
  2518. integer picsize = 16
  2519. toolbaralignment pic_align = alignattop!
  2520. boolean border = false
  2521. end type
  2522. event clicked;call super::clicked;unRegisterHotKey(uo_html.sys_handle, uo_html.sys_atomid)
  2523. IF lv_fj.TotalItems() = 0 THEN
  2524. // PARENT.TriggerEvent('ue_addfj')
  2525. //ELSE
  2526. m_Dfc_Control_PopupMenu dmPopupMenu
  2527. String menustr,ls_level
  2528. menustr = "Text=添加附件~tEvent=ue_addfj"
  2529. menustr = menustr + "|" + "Text=-"
  2530. menustr = menustr + "|" + "Text=删除附件~tEvent=ue_delfj"
  2531. menustr = menustr + "|" + "Text=打开附件~tEvent=ue_runfj"
  2532. menustr = menustr + "|" + "Text=另存附件~tEvent=ue_saveas"
  2533. menustr = menustr + "|" + "Text=云盘附件~tEvent=ue_Cloudfj"
  2534. IF Len(Trim(menustr)) <> 0 THEN
  2535. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  2536. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  2537. dmPopupMenu.mf_PopMenu()
  2538. DESTROY dmPopupMenu
  2539. END IF
  2540. END IF
  2541. end event
  2542. type cb_change from uo_imflatbutton within w_email_send_new
  2543. integer x = 1390
  2544. integer width = 238
  2545. integer height = 164
  2546. integer taborder = 30
  2547. boolean bringtotop = true
  2548. string text = "切换账号"
  2549. string normalpicname = "email_view7.bmp"
  2550. integer picsize = 16
  2551. toolbaralignment pic_align = alignattop!
  2552. boolean border = false
  2553. end type
  2554. event clicked;call super::clicked;long ll_id //传递参数使用
  2555. ll_id = s_set.mailid
  2556. OpenWithParm(w_email_set,ll_id)
  2557. s_email_set s_return
  2558. Long ll_row
  2559. s_return = Message.PowerObjectParm
  2560. IF s_return.mailid > 0 THEN
  2561. s_send.sendid = 0
  2562. s_send.boxid = 0
  2563. s_send.mailid = s_return.mailid
  2564. s_send.mailaddress = s_return.mailaddress
  2565. sle_mailuser.Text = s_set.mailuser
  2566. sle_mailaddress.Text = s_send.mailaddress
  2567. END IF
  2568. end event
  2569. type lv_fj from uo_email_lv within w_email_send_new
  2570. integer x = 59
  2571. integer y = 2268
  2572. integer width = 2565
  2573. integer height = 256
  2574. integer taborder = 30
  2575. boolean bringtotop = true
  2576. boolean extendedselect = true
  2577. boolean hideselection = false
  2578. string smallpicturename[] = {"p15drive_fdd.ico"}
  2579. end type
  2580. event rightclicked;Long ls_fjid
  2581. String ls_fjname
  2582. listviewitem l_lvi
  2583. s_email_lvfj s_lvfj
  2584. m_Dfc_Control_PopupMenu dmPopupMenu
  2585. String menustr,ls_level
  2586. menustr = "Text=添加附件~tEvent=ue_addfj"
  2587. IF Index > 0 THEN
  2588. THIS.GetItem( Index, l_lvi)
  2589. s_lvfj = l_lvi.Data
  2590. ls_fjid = s_lvfj.fjid
  2591. ls_fjname = l_lvi.Label
  2592. ins_cur_fjid = s_lvfj.fjid
  2593. // ins_cur_fjname = l_lvi.Label
  2594. ls_filedata = s_lvfj.fileblob
  2595. ins_index = Index
  2596. // ins_cur_fjtype = s_lvfj.fjtype
  2597. menustr = menustr + "|" + "Text=-"
  2598. menustr = menustr + "|" + "Text=删除附件~tEvent=ue_delfj"
  2599. IF This.TotalSelected() = 1 THEN
  2600. menustr = menustr+"|"+"Text=打开附件~tEvent=ue_runfj"
  2601. END IF
  2602. menustr = menustr + "|" + "Text=另存附件~tEvent=ue_saveas"
  2603. ELSE
  2604. ins_index = 0
  2605. END IF
  2606. IF Len(Trim(menustr)) <> 0 THEN
  2607. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  2608. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  2609. dmPopupMenu.mf_PopMenu()
  2610. DESTROY dmPopupMenu
  2611. END IF
  2612. //
  2613. //
  2614. //
  2615. //
  2616. //
  2617. //menustr = "Text=添加附件~tEvent=ue_addfj"
  2618. //menustr = menustr + "|" + "Text=删除附件~tEvent=ue_delfj"
  2619. //menustr = menustr + "|" + "Text=-"
  2620. //menustr = menustr + "|" + "Text=打开附件~tEvent=ue_runfj"
  2621. //menustr = menustr + "|" + "Text=另存附件~tEvent=ue_saveas"
  2622. //
  2623. //
  2624. //IF Len(Trim(menustr)) <> 0 THEN
  2625. // dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  2626. // dmPopupMenu.mf_BuildMenu(THIS, menustr)
  2627. // dmPopupMenu.mf_PopMenu()
  2628. // DESTROY dmPopupMenu
  2629. //END IF
  2630. end event
  2631. event doubleclicked;
  2632. ListViewItem lvi
  2633. s_email_lvfj lvfj
  2634. blob lb
  2635. string ls_msg
  2636. if ins_index > 0 then
  2637. if lv_fj.GetItem(ins_index, lvi) = 1 then
  2638. lvfj = lvi.data
  2639. if lvfj.filetype = C_Sys_admsg_fj then
  2640. if wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 then
  2641. MessageBox('错误', ls_msg, stopsign!)
  2642. return
  2643. end if
  2644. elseif lvfj.filetype = C_u_email_fj then
  2645. if wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 then
  2646. MessageBox('错误', ls_msg, stopsign!)
  2647. return
  2648. end if
  2649. else
  2650. // DONE:后加附件
  2651. lb = lvfj.fileblob
  2652. end if
  2653. wf_blob_runfj(lb, lvfj.filename)
  2654. end if
  2655. end if
  2656. //if cur_set.mailid > 0 then
  2657. // call super::doubleclicked
  2658. //else // 内部消息
  2659. //
  2660. // //附件下载并打开
  2661. // String lsNull
  2662. // setnull(lsNull)
  2663. // integer rslt = 1
  2664. // string errmsg, ls_pathname
  2665. // listviewitem l_lvi
  2666. // s_email_lvfj s_lvfj
  2667. // IF this.ins_index > 0 THEN
  2668. // THIS.GetItem( this.ins_index, l_lvi)
  2669. // s_lvfj = l_lvi.Data
  2670. // this.ins_cur_fjid = s_lvfj.fjid
  2671. // this.ins_cur_fjname = l_lvi.Label
  2672. // IF this.ins_cur_fjname = '' THEN GOTO ext
  2673. // ELSE
  2674. // GOTO ext
  2675. // END IF
  2676. // //下载附件并打开
  2677. // ls_pathname = sys_cur_path+this.fjfilepathname+'\'+this.ins_cur_fjname
  2678. // IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  2679. // IF this.ins_cur_fjid > 0 THEN
  2680. // selectblob fileblob INTO :this.ls_filedata
  2681. // from Sys_admsg_fj
  2682. // where fjid = :this.ins_cur_fjid;
  2683. // if sqlca.sqlcode <> 0 then
  2684. // rslt = 0
  2685. // errmsg = '下载附件失败'
  2686. // goto ext
  2687. // end if
  2688. // ELSE
  2689. // this.ls_filedata = s_lvfj.fileblob
  2690. // END IF
  2691. //
  2692. // IF f_blobtofile(ls_pathname,this.ls_filedata,errmsg) = 0 THEN
  2693. // rslt = 0
  2694. // GOTO ext
  2695. // END IF
  2696. //
  2697. // //打开附件
  2698. // ShellExecute32( Handle(THIS), lsNull, ls_pathname, lsNull, lsNull, 1 )
  2699. //
  2700. // ext:
  2701. // IF rslt = 0 THEN
  2702. // MessageBox('系统提示',errmsg)
  2703. // END IF
  2704. //
  2705. //
  2706. //
  2707. //end if
  2708. ////附件下载并打开
  2709. //Integer i
  2710. //Long ls_i,ls_j,ls_newrow,ls_filesize
  2711. //Int rslt = 1
  2712. //String Pathname,ls_filename
  2713. //String errmsg
  2714. //String ls_filetypename
  2715. //Long pos1,lrow
  2716. //String ls_para,ls_downarg[]
  2717. //listviewitem l_lvi
  2718. //s_email_lvfj s_lvfj
  2719. //String lsNull
  2720. //uo_email obj_email_tmp
  2721. //obj_email_tmp = CREATE uo_email
  2722. //obj_email_tmp.fj_tran = sqlca
  2723. ////取附件信息
  2724. //IF ins_index > 0 THEN
  2725. // THIS.GetItem( ins_index, l_lvi)
  2726. // s_lvfj = l_lvi.Data
  2727. // ins_cur_fjid = s_lvfj.fjid
  2728. // ins_cur_fjname = l_lvi.Label
  2729. // IF ins_cur_fjname = '' THEN GOTO ext
  2730. //ELSE
  2731. // GOTO ext
  2732. //END IF
  2733. ////下载附件并打开
  2734. //Pathname = sys_cur_path+fjfilepathname+'\'+ins_cur_fjname
  2735. //IF FileExists(Pathname) THEN FileDelete(Pathname)
  2736. //IF ins_cur_fjid > 0 THEN
  2737. // if s_lvfj.fjtype = 2 then
  2738. // SELECTBLOB Fileblob
  2739. // INTO :ls_filedata
  2740. // FROM Sys_admsg_fj
  2741. // Where (fjid = :ins_cur_fjid);
  2742. // if sqlca.sqlcode <> 0 then
  2743. // rslt = 0
  2744. // errmsg = sqlca.sqlerrtext
  2745. // goto ext
  2746. // end if
  2747. // else
  2748. // IF obj_email_tmp.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN
  2749. // rslt = 0
  2750. // GOTO ext
  2751. // END IF
  2752. // end if
  2753. //ELSE
  2754. // ls_filedata = s_lvfj.fileblob
  2755. //END IF
  2756. //
  2757. //IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
  2758. // rslt = 0
  2759. // GOTO ext
  2760. //END IF
  2761. //
  2762. ////打开附件
  2763. //ShellExecute32( Handle(THIS), lsNull, Pathname, lsNull, lsNull, 1 )
  2764. //
  2765. //ext:
  2766. //IF rslt = 0 THEN
  2767. // MessageBox('系统提示',errmsg)
  2768. //END IF
  2769. //DESTROY obj_email_tmp
  2770. //
  2771. end event
  2772. event ue_saveas;
  2773. ListViewItem lvi
  2774. s_email_lvfj lvfj
  2775. Blob lb
  2776. Long ll_i, ll_cnt = 0
  2777. ListViewItem selectedlvi[]
  2778. String ls_msg, ls_sum
  2779. IF ins_index > 0 THEN
  2780. IF This.TotalSelected() <= 1 THEN
  2781. IF lv_fj.GetItem(ins_index, lvi) = 1 THEN
  2782. lvfj = lvi.Data
  2783. IF lvfj.FileType = C_Sys_admsg_fj THEN
  2784. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  2785. MessageBox('错误', ls_msg, stopsign!)
  2786. RETURN
  2787. END IF
  2788. ELSEIF lvfj.FileType = C_u_email_fj THEN
  2789. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  2790. MessageBox('错误', ls_msg, stopsign!)
  2791. RETURN
  2792. END IF
  2793. ELSE
  2794. // DONE: 后加附件
  2795. lb = lvfj.fileblob
  2796. END IF
  2797. wf_blob_saveas(lb, lvfj.Filename)
  2798. END IF
  2799. ELSE
  2800. // 多选
  2801. String ls_filepath
  2802. String ls_filename
  2803. IF GetFolder('选择保存路径', ls_filepath) <> 1 THEN RETURN
  2804. IF Mid(ls_filepath, Len(ls_filepath), 1) <> '\' THEN
  2805. ls_filepath += '\'
  2806. END IF
  2807. FOR ll_i = 1 To This.TotalItems()
  2808. IF This.GetItem(ll_i, lvi) = 1 THEN
  2809. IF lvi.Selected THEN
  2810. ll_cnt++
  2811. selectedlvi[ll_cnt] = lvi
  2812. END IF
  2813. END IF
  2814. NEXT
  2815. FOR ll_i = 1 To ll_cnt
  2816. lvfj = selectedlvi[ll_i].Data
  2817. IF lvfj.FileType = C_Sys_admsg_fj THEN
  2818. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  2819. ls_sum = ls_sum + ls_msg + '~r~n'
  2820. CONTINUE
  2821. END IF
  2822. ELSEIF lvfj.FileType = C_u_email_fj THEN
  2823. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  2824. ls_sum = ls_sum + ls_msg + '~r~n'
  2825. CONTINUE
  2826. END IF
  2827. ELSEIF lvfj.FileType = C_from_file THEN
  2828. lb = lvfj.fileblob
  2829. ELSE
  2830. ls_sum = ls_sum + '未定义FileType:' + lvfj.FileType + '~r~n'
  2831. CONTINUE
  2832. END IF
  2833. ls_filename = ls_filepath + lvfj.Filename
  2834. IF FileExists(ls_filename) THEN
  2835. IF MessageBox('提问', lvfj.Filename + '已经存在是否覆盖?', Question!, YesNo!) <> 1 THEN
  2836. CONTINUE
  2837. END IF
  2838. END IF
  2839. IF f_blobtofile(ls_filename, lb, ls_msg) <> 1 THEN
  2840. ls_sum = ls_sum + ls_msg + '~r~n'
  2841. CONTINUE
  2842. END IF
  2843. NEXT
  2844. IF ls_sum <> '' THEN
  2845. MessageBox('错误', ls_sum)
  2846. ELSE
  2847. MessageBox('提示', '保存成功')
  2848. END IF
  2849. END IF
  2850. END IF
  2851. // //附件另存为
  2852. //Integer i
  2853. //Long ls_i,ls_j,ls_newrow,ls_filesize
  2854. //String Pathname,ls_filename
  2855. //String errmsg,arg_msg
  2856. //String ls_filetypename
  2857. //Long pos1,lrow,rslt
  2858. //String ls_para,ls_downarg[]
  2859. //uo_email obj_email_tmp
  2860. //obj_email_tmp = CREATE uo_email
  2861. //obj_email_tmp.commit_tran = sqlca
  2862. //obj_email_tmp.fj_tran = sqlca
  2863. //Pathname = ins_cur_fjname
  2864. //
  2865. ////*************************************************************
  2866. //
  2867. //pos1 = Pos(ins_cur_fjname,'.',1)
  2868. //IF pos1 > 0 THEN
  2869. // ls_filetypename = Mid(ins_cur_fjname,pos1 + 1)
  2870. // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
  2871. //ELSE
  2872. // ls_filetypename = ''
  2873. // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*.*,*.*")
  2874. //END IF
  2875. //
  2876. //IF i = 1 AND Trim(Pathname) <> '' THEN
  2877. // if ins_cur_fjtype = 2 then
  2878. // SELECTBLOB Fileblob
  2879. // INTO :ls_filedata
  2880. // FROM Sys_admsg_fj
  2881. // Where (fjid = :ins_cur_fjid);
  2882. // if sqlca.sqlcode <> 0 then
  2883. // MessageBox('系统提示',arg_msg)
  2884. // RETURN
  2885. // end if
  2886. // elseif ins_cur_fjtype = 0 OR ins_cur_fjtype = 1 then
  2887. // IF obj_email_tmp.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN
  2888. // MessageBox('系统提示',arg_msg)
  2889. // RETURN
  2890. // END IF
  2891. // else
  2892. // MessageBox('系统提示','未知附件类型')
  2893. // RETURN
  2894. // end if
  2895. //
  2896. // IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
  2897. // MessageBox('系统提示',errmsg)
  2898. // RETURN
  2899. // ELSE
  2900. //
  2901. // MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+Pathname)
  2902. // END IF
  2903. //END IF
  2904. //
  2905. end event
  2906. type cb_6 from commandbutton within w_email_send_new
  2907. boolean visible = false
  2908. integer x = 2583
  2909. integer y = 576
  2910. integer width = 187
  2911. integer height = 84
  2912. integer taborder = 40
  2913. boolean bringtotop = true
  2914. integer textsize = -9
  2915. integer weight = 400
  2916. fontcharset fontcharset = gb2312charset!
  2917. fontpitch fontpitch = variable!
  2918. string facename = "宋体"
  2919. string text = "刷新"
  2920. end type
  2921. event clicked;//dw_send.AcceptText()
  2922. //
  2923. //IF dw_send.Object.sendid[dw_send.GetRow()] > 0 THEN
  2924. // dw_revlist.Retrieve(dw_send.Object.sendid[dw_send.GetRow()])
  2925. //END IF
  2926. //
  2927. end event
  2928. type cb_7 from commandbutton within w_email_send_new
  2929. boolean visible = false
  2930. integer x = 2770
  2931. integer y = 576
  2932. integer width = 187
  2933. integer height = 84
  2934. integer taborder = 50
  2935. boolean bringtotop = true
  2936. integer textsize = -9
  2937. integer weight = 400
  2938. fontcharset fontcharset = gb2312charset!
  2939. fontpitch fontpitch = variable!
  2940. string facename = "宋体"
  2941. string text = "插入"
  2942. end type
  2943. event clicked;//Long ll_row
  2944. //
  2945. //ll_row = dw_revlist.InsertRow(0)
  2946. //dw_revlist.Object.sendid[ll_row] = dw_send.Object.sendid[dw_send.GetRow()]
  2947. //dw_revlist.Object.printid[ll_row] = ll_row
  2948. //dw_revlist.Object.reltype[ll_row] = 3
  2949. //dw_revlist.Object.relid[ll_row] = 0
  2950. //
  2951. end event
  2952. type cb_9 from commandbutton within w_email_send_new
  2953. boolean visible = false
  2954. integer x = 2958
  2955. integer y = 576
  2956. integer width = 187
  2957. integer height = 84
  2958. integer taborder = 70
  2959. boolean bringtotop = true
  2960. integer textsize = -9
  2961. integer weight = 400
  2962. fontcharset fontcharset = gb2312charset!
  2963. fontpitch fontpitch = variable!
  2964. string facename = "宋体"
  2965. string text = "删除"
  2966. end type
  2967. event clicked;Long i
  2968. IF dw_revlist.RowCount() = 0 THEN RETURN
  2969. dw_revlist.AcceptText()
  2970. FOR i = dw_revlist.RowCount() TO 1 STEP -1
  2971. IF dw_revlist.Object.isselect[i] = 1 THEN
  2972. dw_revlist.DeleteRow (i)
  2973. END IF
  2974. NEXT
  2975. end event
  2976. type cbx_1 from checkbox within w_email_send_new
  2977. boolean visible = false
  2978. integer x = 3163
  2979. integer y = 588
  2980. integer width = 224
  2981. integer height = 60
  2982. boolean bringtotop = true
  2983. integer textsize = -9
  2984. integer weight = 400
  2985. fontcharset fontcharset = gb2312charset!
  2986. fontpitch fontpitch = variable!
  2987. string facename = "宋体"
  2988. long textcolor = 33554432
  2989. long backcolor = 67108864
  2990. string text = "全选"
  2991. end type
  2992. event clicked;//IF dw_revlist.RowCount() <= 0 THEN RETURN
  2993. //Long li
  2994. //IF THIS.Checked THEN
  2995. // FOR li = 1 TO dw_revlist.RowCount()
  2996. // dw_revlist.Object.isselect[li] = 1
  2997. // NEXT
  2998. //ELSE
  2999. // FOR li = 1 TO dw_send.RowCount()
  3000. // dw_revlist.Object.isselect[li] = 0
  3001. // NEXT
  3002. //END IF
  3003. //
  3004. //
  3005. end event
  3006. type cb_1 from commandbutton within w_email_send_new
  3007. boolean visible = false
  3008. integer x = 3461
  3009. integer y = 576
  3010. integer width = 82
  3011. integer height = 84
  3012. integer taborder = 40
  3013. boolean bringtotop = true
  3014. integer textsize = -9
  3015. integer weight = 400
  3016. fontcharset fontcharset = gb2312charset!
  3017. fontpitch fontpitch = variable!
  3018. string facename = "宋体"
  3019. string text = "︽"
  3020. end type
  3021. event clicked;IF cb_1.Text <> '︽' THEN
  3022. cb_1.Text = '︽'
  3023. ELSE
  3024. cb_1.Text = '︾'
  3025. END IF
  3026. parent.triggerevent(resize!)
  3027. end event
  3028. type cb_2 from uo_imflatbutton within w_email_send_new
  3029. integer x = 430
  3030. integer width = 165
  3031. integer height = 164
  3032. integer taborder = 30
  3033. boolean bringtotop = true
  3034. string text = "保存"
  3035. string normalpicname = "SAVE.BMP"
  3036. integer picsize = 16
  3037. toolbaralignment pic_align = alignattop!
  3038. boolean border = false
  3039. end type
  3040. event clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  3041. String ls_msg
  3042. if sle_mailtype.text <> '未发' then
  3043. // 另存
  3044. s_send.sendid = 0
  3045. sle_mailtype.text = '未发'
  3046. end if
  3047. IF wf_save(ls_msg) = 0 THEN
  3048. MessageBox('错误',ls_msg, StopSign!, OK! )
  3049. ELSE
  3050. MessageBox('提示',"保存成功!", Information!, OK! )
  3051. END IF
  3052. end event
  3053. type cb_fornextsend from uo_imflatbutton within w_email_send_new
  3054. boolean visible = false
  3055. integer x = 2007
  3056. integer width = 151
  3057. integer height = 164
  3058. integer taborder = 30
  3059. boolean bringtotop = true
  3060. string text = "发送"
  3061. string normalpicname = "email_view2.bmp"
  3062. integer picsize = 16
  3063. toolbaralignment pic_align = alignattop!
  3064. boolean border = false
  3065. end type
  3066. event clicked;call super::clicked;//IF dw_edit_mode THEN RETURN
  3067. //
  3068. //listviewitem l_lvi
  3069. //s_email_lvfj s_lvfj
  3070. //String ls_pathname,errmsg
  3071. //Long k,ll_cnt_lp
  3072. //long count = 20
  3073. //Open(w_sys_wait_jdt) //初始化进度条
  3074. //w_sys_wait_jdt.Show()
  3075. //w_sys_wait_jdt.wf_accepttol(count)
  3076. //
  3077. //FOR k = 1 TO count
  3078. //
  3079. // ll_cnt_lp++
  3080. // w_sys_wait_jdt.st_msg.Text = " 正在发送邮件(" + String(k) + "/" + String(count) + ")." //进度信息
  3081. // w_sys_wait_jdt.wf_inc(ll_cnt_lp)
  3082. //
  3083. // //发邮件
  3084. // dw_revlist.AcceptText()
  3085. //
  3086. // IF wf_check(errmsg) = 0 THEN
  3087. // MessageBox('错误',errmsg, StopSign!, OK! )
  3088. // RETURN
  3089. // END IF
  3090. //dw_send.Object.priority[dw_send.GetRow()] = long(em_priority.text)
  3091. //dw_send.Object.mailuser[dw_send.GetRow()] = sle_mailuser.Text
  3092. //dw_send.Object.mailaddress[dw_send.GetRow()] = sle_mailaddress.Text
  3093. //dw_send.Object.maitype[dw_send.GetRow()] = f_GetStatusValue(sle_mailtype.text)
  3094. //dw_send.object.u_email_send_revlist[dw_send.GetRow()] = mle_revlist.text
  3095. //dw_send.Object.Subject[dw_send.Getrow()] = sle_subject.text
  3096. //
  3097. // dw_send.AcceptText()
  3098. // oleobject jmail
  3099. // jmail = CREATE oleobject
  3100. // jmail.ConnectToNewObject("JMail.Message")
  3101. // jmail.Charset = 'GB2312'
  3102. // jmail.ISOEncodeHeaders = TRUE
  3103. // jmail.silent = TRUE
  3104. // jmail.Logging = TRUE
  3105. // jmail.FROM = s_set.mailAddress //发件人邮箱
  3106. // jmail.FromName = s_set.mailuser //发件人
  3107. // jmail.Subject = Trim(dw_send.Object.Subject[dw_send.GetRow()]) //邮件主题
  3108. // jmail.MailServerUserName = s_set.mailAddress //发件邮箱登录账户
  3109. // jmail.MailServerPassword = s_set.mailpsw //发件邮箱用户密码
  3110. // jmail.Priority = dw_send.Object.Priority[dw_send.GetRow()] //优先级
  3111. // jmail.Body = Trim(mle_text.Text) + "~r~n" //邮件内容
  3112. //
  3113. // Long i
  3114. // FOR i = 1 TO dw_revlist.RowCount()
  3115. // IF Trim(dw_revlist.Object.revaddress[i]) <> '' THEN
  3116. // jmail.AddRecipient(Trim(dw_revlist.Object.revaddress[i]))
  3117. // END IF
  3118. // NEXT
  3119. // /////添加附件
  3120. // IF lv_fj.TotalItems() > 0 THEN
  3121. //
  3122. // ls_pathname = ''
  3123. // FOR i = 1 TO lv_fj.TotalItems()
  3124. // lv_fj.GetItem(i, l_lvi)
  3125. // ls_pathname = l_lvi.Label
  3126. // s_lvfj = l_lvi.Data
  3127. // ls_pathname = sys_cur_path+fjfilepathname+'\'+ls_pathname
  3128. // IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  3129. //
  3130. // IF s_lvfj.fjid > 0 THEN
  3131. // SELECTBLOB Fileblob
  3132. // INTO :s_lvfj.Fileblob
  3133. // FROM u_email_fj
  3134. // Where (fjid = :s_lvfj.fjid);
  3135. //
  3136. // IF sqlca.SQLCode <> 0 THEN
  3137. // MessageBox('系统提示',errmsg)
  3138. // GOTO ext
  3139. // END IF
  3140. // END IF
  3141. //
  3142. // IF f_blobtofile(ls_pathname,s_lvfj.Fileblob,errmsg) = 0 THEN
  3143. // MessageBox('系统提示',errmsg)
  3144. // GOTO ext
  3145. // ELSE
  3146. // jmail.AddAttachment(ls_pathname)
  3147. // END IF
  3148. // NEXT
  3149. // END IF
  3150. //
  3151. // dw_send.Object.mailsize[dw_send.GetRow()] = jmail.size
  3152. // dw_send.Object.senddate[dw_send.GetRow()] = jmail.Date
  3153. // dw_send.Object.mailtype[dw_send.GetRow()] = 1
  3154. // ///发送
  3155. // IF jmail.Send(s_set.smtpset) THEN //ls_host为发件邮箱服务器
  3156. //
  3157. // jmail.ClearAttachments()
  3158. // jmail.ClearRecipients()
  3159. // dw_send.AcceptText()
  3160. // IF dw_send.GetRow() > 0 AND dw_send.Object.sendid[dw_send.GetRow()] > 0 THEN
  3161. // //更新发送时间,邮件大小
  3162. // Long ll_sendid
  3163. // String ls_msg
  3164. // ll_sendid = dw_send.Object.sendid[dw_send.GetRow()]
  3165. //
  3166. // IF obj_email.f_update_send(ll_sendid,jmail.Date,jmail.size,ls_msg) = 0 THEN
  3167. // MessageBox('错误',ls_msg, StopSign!, OK! )
  3168. // GOTO ext
  3169. // END IF
  3170. // END IF
  3171. //
  3172. // ELSE
  3173. // MessageBox('错误',"邮箱设置不正确或者没有连接网络", StopSign!, OK! )
  3174. // jmail.Close()
  3175. // DESTROY jmail
  3176. // goto ext1
  3177. // END IF
  3178. //
  3179. // ext:
  3180. // jmail.Close()
  3181. // DESTROY jmail
  3182. //NEXT
  3183. //ext1:
  3184. //Close(w_sys_wait_jdt)
  3185. end event
  3186. type st_1 from statictext within w_email_send_new
  3187. boolean visible = false
  3188. integer x = 50
  3189. integer y = 220
  3190. integer width = 242
  3191. integer height = 52
  3192. boolean bringtotop = true
  3193. integer textsize = -9
  3194. integer weight = 400
  3195. fontcharset fontcharset = gb2312charset!
  3196. fontpitch fontpitch = variable!
  3197. string facename = "宋体"
  3198. long textcolor = 16711680
  3199. long backcolor = 134217739
  3200. string text = "优先级"
  3201. alignment alignment = right!
  3202. long bordercolor = 134217739
  3203. boolean focusrectangle = false
  3204. end type
  3205. type em_priority from editmask within w_email_send_new
  3206. boolean visible = false
  3207. integer x = 2336
  3208. integer y = 164
  3209. integer width = 393
  3210. integer height = 84
  3211. integer taborder = 60
  3212. boolean bringtotop = true
  3213. integer textsize = -9
  3214. integer weight = 400
  3215. fontcharset fontcharset = gb2312charset!
  3216. fontpitch fontpitch = variable!
  3217. string facename = "宋体"
  3218. long textcolor = 16711680
  3219. string text = "1"
  3220. alignment alignment = right!
  3221. borderstyle borderstyle = stylelowered!
  3222. string mask = "#"
  3223. boolean autoskip = true
  3224. boolean spin = true
  3225. double increment = 1
  3226. string minmax = "1~~5"
  3227. end type
  3228. type st_2 from statictext within w_email_send_new
  3229. integer x = 18
  3230. integer y = 220
  3231. integer width = 242
  3232. integer height = 52
  3233. boolean bringtotop = true
  3234. integer textsize = -9
  3235. integer weight = 400
  3236. fontcharset fontcharset = gb2312charset!
  3237. fontpitch fontpitch = variable!
  3238. string facename = "宋体"
  3239. long textcolor = 33554432
  3240. long backcolor = 134217739
  3241. string text = "发件人:"
  3242. alignment alignment = right!
  3243. boolean focusrectangle = false
  3244. end type
  3245. type st_3 from statictext within w_email_send_new
  3246. integer x = 1157
  3247. integer y = 220
  3248. integer width = 288
  3249. integer height = 52
  3250. boolean bringtotop = true
  3251. integer textsize = -9
  3252. integer weight = 400
  3253. fontcharset fontcharset = gb2312charset!
  3254. fontpitch fontpitch = variable!
  3255. string facename = "宋体"
  3256. long textcolor = 33554432
  3257. long backcolor = 134217739
  3258. string text = "发件邮箱:"
  3259. alignment alignment = right!
  3260. boolean focusrectangle = false
  3261. end type
  3262. type st_4 from statictext within w_email_send_new
  3263. integer x = 27
  3264. integer y = 308
  3265. integer width = 288
  3266. integer height = 52
  3267. boolean bringtotop = true
  3268. integer textsize = -9
  3269. integer weight = 400
  3270. fontcharset fontcharset = gb2312charset!
  3271. fontpitch fontpitch = variable!
  3272. string facename = "宋体"
  3273. long textcolor = 33554432
  3274. long backcolor = 134217739
  3275. string text = "邮件类型:"
  3276. alignment alignment = right!
  3277. boolean focusrectangle = false
  3278. end type
  3279. type st_5 from statictext within w_email_send_new
  3280. integer x = 521
  3281. integer y = 308
  3282. integer width = 261
  3283. integer height = 52
  3284. boolean bringtotop = true
  3285. integer textsize = -9
  3286. integer weight = 400
  3287. fontcharset fontcharset = gb2312charset!
  3288. fontpitch fontpitch = variable!
  3289. string facename = "宋体"
  3290. long textcolor = 33554432
  3291. long backcolor = 134217739
  3292. string text = "大小(K):"
  3293. alignment alignment = right!
  3294. boolean focusrectangle = false
  3295. end type
  3296. type st_6 from statictext within w_email_send_new
  3297. integer x = 1801
  3298. integer y = 308
  3299. integer width = 288
  3300. integer height = 52
  3301. boolean bringtotop = true
  3302. integer textsize = -9
  3303. integer weight = 400
  3304. fontcharset fontcharset = gb2312charset!
  3305. fontpitch fontpitch = variable!
  3306. string facename = "宋体"
  3307. long textcolor = 33554432
  3308. long backcolor = 134217739
  3309. string text = "建立时间:"
  3310. alignment alignment = right!
  3311. boolean focusrectangle = false
  3312. end type
  3313. type st_7 from statictext within w_email_send_new
  3314. integer x = 2606
  3315. integer y = 308
  3316. integer width = 288
  3317. integer height = 52
  3318. boolean bringtotop = true
  3319. integer textsize = -9
  3320. integer weight = 400
  3321. fontcharset fontcharset = gb2312charset!
  3322. fontpitch fontpitch = variable!
  3323. string facename = "宋体"
  3324. long textcolor = 33554432
  3325. long backcolor = 134217739
  3326. string text = "发送时间:"
  3327. alignment alignment = right!
  3328. boolean focusrectangle = false
  3329. end type
  3330. type st_9 from statictext within w_email_send_new
  3331. integer x = 50
  3332. integer y = 700
  3333. integer width = 242
  3334. integer height = 52
  3335. boolean bringtotop = true
  3336. integer textsize = -9
  3337. integer weight = 400
  3338. fontcharset fontcharset = gb2312charset!
  3339. fontpitch fontpitch = variable!
  3340. string facename = "宋体"
  3341. long textcolor = 16711680
  3342. long backcolor = 134217739
  3343. string text = "主题"
  3344. alignment alignment = right!
  3345. boolean focusrectangle = false
  3346. end type
  3347. type sle_subject from singlelineedit within w_email_send_new
  3348. integer x = 311
  3349. integer y = 684
  3350. integer width = 3223
  3351. integer height = 84
  3352. integer taborder = 80
  3353. boolean bringtotop = true
  3354. integer textsize = -9
  3355. integer weight = 400
  3356. fontcharset fontcharset = gb2312charset!
  3357. fontpitch fontpitch = variable!
  3358. string facename = "宋体"
  3359. long textcolor = 16711680
  3360. borderstyle borderstyle = stylelowered!
  3361. end type
  3362. event getfocus;unRegisterHotKey(uo_html.sys_handle, uo_html.sys_atomid)
  3363. end event
  3364. type st_10 from statictext within w_email_send_new
  3365. integer x = 1111
  3366. integer y = 308
  3367. integer width = 233
  3368. integer height = 52
  3369. boolean bringtotop = true
  3370. integer textsize = -9
  3371. integer weight = 400
  3372. fontcharset fontcharset = gb2312charset!
  3373. fontpitch fontpitch = variable!
  3374. string facename = "宋体"
  3375. long textcolor = 33554432
  3376. long backcolor = 134217739
  3377. string text = "建立人:"
  3378. alignment alignment = right!
  3379. boolean focusrectangle = false
  3380. end type
  3381. type sle_mailuser from statictext within w_email_send_new
  3382. integer x = 261
  3383. integer y = 220
  3384. integer width = 905
  3385. integer height = 52
  3386. boolean bringtotop = true
  3387. integer textsize = -9
  3388. integer weight = 400
  3389. fontcharset fontcharset = gb2312charset!
  3390. fontpitch fontpitch = variable!
  3391. string facename = "宋体"
  3392. long backcolor = 134217739
  3393. boolean focusrectangle = false
  3394. end type
  3395. type sle_mailaddress from statictext within w_email_send_new
  3396. integer x = 1449
  3397. integer y = 220
  3398. integer width = 1070
  3399. integer height = 52
  3400. boolean bringtotop = true
  3401. integer textsize = -9
  3402. integer weight = 400
  3403. fontcharset fontcharset = gb2312charset!
  3404. fontpitch fontpitch = variable!
  3405. string facename = "宋体"
  3406. long textcolor = 33554432
  3407. long backcolor = 134217739
  3408. boolean focusrectangle = false
  3409. end type
  3410. type sle_mailtype from statictext within w_email_send_new
  3411. integer x = 306
  3412. integer y = 308
  3413. integer width = 137
  3414. integer height = 52
  3415. boolean bringtotop = true
  3416. integer textsize = -9
  3417. integer weight = 400
  3418. fontcharset fontcharset = gb2312charset!
  3419. fontpitch fontpitch = variable!
  3420. string facename = "宋体"
  3421. long textcolor = 33554432
  3422. long backcolor = 134217739
  3423. string text = "未发"
  3424. boolean focusrectangle = false
  3425. end type
  3426. type em_mailsize from statictext within w_email_send_new
  3427. integer x = 763
  3428. integer y = 308
  3429. integer width = 238
  3430. integer height = 52
  3431. boolean bringtotop = true
  3432. integer textsize = -9
  3433. integer weight = 400
  3434. fontcharset fontcharset = gb2312charset!
  3435. fontpitch fontpitch = variable!
  3436. string facename = "宋体"
  3437. long textcolor = 33554432
  3438. long backcolor = 134217739
  3439. string text = "0"
  3440. boolean focusrectangle = false
  3441. end type
  3442. type sle_opemp from statictext within w_email_send_new
  3443. integer x = 1335
  3444. integer y = 308
  3445. integer width = 370
  3446. integer height = 52
  3447. boolean bringtotop = true
  3448. integer textsize = -9
  3449. integer weight = 400
  3450. fontcharset fontcharset = gb2312charset!
  3451. fontpitch fontpitch = variable!
  3452. string facename = "宋体"
  3453. long textcolor = 33554432
  3454. long backcolor = 134217739
  3455. boolean focusrectangle = false
  3456. end type
  3457. type em_opdate from statictext within w_email_send_new
  3458. integer x = 2075
  3459. integer y = 308
  3460. integer width = 466
  3461. integer height = 52
  3462. boolean bringtotop = true
  3463. integer textsize = -9
  3464. integer weight = 400
  3465. fontcharset fontcharset = gb2312charset!
  3466. fontpitch fontpitch = variable!
  3467. string facename = "宋体"
  3468. long textcolor = 33554432
  3469. long backcolor = 134217739
  3470. boolean focusrectangle = false
  3471. end type
  3472. type em_senddate from statictext within w_email_send_new
  3473. integer x = 2903
  3474. integer y = 308
  3475. integer width = 517
  3476. integer height = 52
  3477. boolean bringtotop = true
  3478. integer textsize = -9
  3479. integer weight = 400
  3480. fontcharset fontcharset = gb2312charset!
  3481. fontpitch fontpitch = variable!
  3482. string facename = "宋体"
  3483. long textcolor = 33554432
  3484. long backcolor = 134217739
  3485. boolean focusrectangle = false
  3486. end type
  3487. type sp_v1 from u_lbs_stsplitbar within w_email_send_new
  3488. integer x = 2683
  3489. integer y = 792
  3490. integer width = 14
  3491. integer height = 1420
  3492. boolean bringtotop = true
  3493. long backcolor = 16777215
  3494. integer ii_minobjectsize = 600
  3495. end type
  3496. type cb_3 from uo_imflatbutton within w_email_send_new
  3497. integer x = 1056
  3498. integer width = 165
  3499. integer height = 164
  3500. integer taborder = 40
  3501. boolean bringtotop = true
  3502. string text = "重置"
  3503. string normalpicname = "refresh.BMP"
  3504. integer picsize = 16
  3505. toolbaralignment pic_align = alignattop!
  3506. boolean border = false
  3507. end type
  3508. event clicked;call super::clicked;s_set.sendid = s_send.sendid
  3509. string ls_msg
  3510. integer i
  3511. IF wf_init(ls_msg) = 0 THEN
  3512. MessageBox('错误',ls_msg,stopsign!,OK!)
  3513. RETURN
  3514. END IF
  3515. wf_fjcount()
  3516. parent.triggerevent('resize')
  3517. end event
  3518. type cb_4 from uo_imflatbutton within w_email_send_new
  3519. integer x = 599
  3520. integer width = 165
  3521. integer height = 164
  3522. integer taborder = 30
  3523. boolean bringtotop = true
  3524. string text = "另存"
  3525. string normalpicname = "SAVE.BMP"
  3526. integer picsize = 16
  3527. toolbaralignment pic_align = alignattop!
  3528. boolean border = false
  3529. end type
  3530. event clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  3531. String ls_msg
  3532. s_send.sendid = 0
  3533. sle_mailtype.text = '未发'
  3534. IF wf_save(ls_msg) = 0 THEN
  3535. MessageBox('错误',ls_msg, StopSign!, OK! )
  3536. ELSE
  3537. MessageBox('提示',"保存成功!", Information!, OK! )
  3538. END IF
  3539. end event
  3540. type uo_html from uo_html_editor within w_email_send_new
  3541. integer x = 59
  3542. integer y = 792
  3543. integer width = 2574
  3544. integer height = 768
  3545. integer taborder = 30
  3546. boolean bringtotop = true
  3547. boolean border = true
  3548. borderstyle borderstyle = stylelowered!
  3549. end type
  3550. on uo_html.destroy
  3551. call uo_html_editor::destroy
  3552. end on
  3553. event losefocus;call super::losefocus;messagebox("","xxxx")
  3554. end event
  3555. type st_11 from uo_text_m within w_email_send_new
  3556. integer x = 110
  3557. integer y = 396
  3558. integer width = 183
  3559. integer height = 60
  3560. boolean bringtotop = true
  3561. integer textsize = -9
  3562. boolean underline = true
  3563. long textcolor = 16711680
  3564. long backcolor = 134217739
  3565. string text = "收件人"
  3566. alignment alignment = right!
  3567. integer ifonraise = 5
  3568. end type
  3569. event clicked;call super::clicked;parent.triggerevent('ue_sendmx')
  3570. end event
  3571. type pb_1 from picturebutton within w_email_send_new
  3572. integer x = 3200
  3573. integer y = 372
  3574. integer width = 110
  3575. integer height = 96
  3576. integer taborder = 90
  3577. boolean bringtotop = true
  3578. integer textsize = -9
  3579. fontcharset fontcharset = gb2312charset!
  3580. fontpitch fontpitch = variable!
  3581. string facename = "宋体"
  3582. string picturename = "people.bmp"
  3583. alignment htextalign = left!
  3584. string powertiptext = "收件人"
  3585. end type
  3586. event clicked;parent.triggerevent('ue_sendmx_cust')
  3587. end event
  3588. type ddlb_normalflag from dropdownlistbox within w_email_send_new
  3589. integer x = 3150
  3590. integer y = 200
  3591. integer width = 530
  3592. integer height = 264
  3593. integer taborder = 70
  3594. boolean bringtotop = true
  3595. integer textsize = -9
  3596. integer weight = 400
  3597. fontcharset fontcharset = gb2312charset!
  3598. fontpitch fontpitch = variable!
  3599. string facename = "宋体"
  3600. long textcolor = 16711680
  3601. boolean sorted = false
  3602. string item[] = {"正常[0]","暗送(群发保密)[1]","循环(群发单显)[2]"}
  3603. borderstyle borderstyle = stylelowered!
  3604. end type
  3605. event selectionchanged;IF Index = 3 THEN
  3606. mle_cc.Text = ""
  3607. mle_cc.Enabled = False
  3608. pb_cc.Enabled = False
  3609. st_cc.Enabled = False
  3610. ELSE
  3611. mle_cc.Enabled = True
  3612. pb_cc.Enabled = True
  3613. st_cc.Enabled = True
  3614. END IF
  3615. end event
  3616. type st_8 from statictext within w_email_send_new
  3617. integer x = 2871
  3618. integer y = 224
  3619. integer width = 274
  3620. integer height = 48
  3621. boolean bringtotop = true
  3622. integer textsize = -9
  3623. integer weight = 400
  3624. fontcharset fontcharset = gb2312charset!
  3625. fontpitch fontpitch = variable!
  3626. string facename = "宋体"
  3627. long textcolor = 16711680
  3628. long backcolor = 134217739
  3629. string text = "发送模式:"
  3630. boolean focusrectangle = false
  3631. end type
  3632. type cb_5 from uo_imflatbutton within w_email_send_new
  3633. integer x = 1801
  3634. integer y = 24
  3635. integer width = 384
  3636. integer height = 80
  3637. integer taborder = 40
  3638. boolean bringtotop = true
  3639. string text = "插入客户名称"
  3640. end type
  3641. event clicked;call super::clicked;string ls_old
  3642. ls_old = Clipboard()
  3643. Clipboard("[客户名称]")
  3644. uo_html.ole_web.object.Document.ExecCommand("Paste", true, 0)
  3645. Clipboard(ls_old)
  3646. uo_html.ole_web.setfocus()
  3647. uo_html.uf_refreshtoolbar()
  3648. end event
  3649. type st_12 from statictext within w_email_send_new
  3650. integer x = 1806
  3651. integer y = 112
  3652. integer width = 1413
  3653. integer height = 48
  3654. boolean bringtotop = true
  3655. integer textsize = -9
  3656. integer weight = 400
  3657. fontcharset fontcharset = gb2312charset!
  3658. fontpitch fontpitch = variable!
  3659. string facename = "宋体"
  3660. long textcolor = 255
  3661. long backcolor = 67108864
  3662. string text = "在循环模式下,发件时[客户名称]会自动替换成收件人名称"
  3663. boolean focusrectangle = false
  3664. end type
  3665. event constructor;this.backcolor = 14215660
  3666. this.bordercolor = 14215660
  3667. end event
  3668. type tab_1 from tab within w_email_send_new
  3669. integer x = 2720
  3670. integer y = 776
  3671. integer width = 978
  3672. integer height = 1008
  3673. integer taborder = 60
  3674. boolean bringtotop = true
  3675. integer textsize = -9
  3676. integer weight = 400
  3677. fontcharset fontcharset = gb2312charset!
  3678. fontpitch fontpitch = variable!
  3679. string facename = "宋体"
  3680. long backcolor = 134217739
  3681. boolean raggedright = true
  3682. boolean focusonbuttondown = true
  3683. integer selectedtab = 1
  3684. tabpage_1 tabpage_1
  3685. tabpage_2 tabpage_2
  3686. tabpage_3 tabpage_3
  3687. end type
  3688. on tab_1.create
  3689. this.tabpage_1=create tabpage_1
  3690. this.tabpage_2=create tabpage_2
  3691. this.tabpage_3=create tabpage_3
  3692. this.Control[]={this.tabpage_1,&
  3693. this.tabpage_2,&
  3694. this.tabpage_3}
  3695. end on
  3696. on tab_1.destroy
  3697. destroy(this.tabpage_1)
  3698. destroy(this.tabpage_2)
  3699. destroy(this.tabpage_3)
  3700. end on
  3701. type tabpage_1 from userobject within tab_1
  3702. string tag = "a"
  3703. integer x = 18
  3704. integer y = 96
  3705. integer width = 942
  3706. integer height = 896
  3707. long backcolor = 134217739
  3708. string text = "联系人"
  3709. long tabtextcolor = 33554432
  3710. long tabbackcolor = 134217739
  3711. long picturemaskcolor = 536870912
  3712. dw_1 dw_1
  3713. end type
  3714. on tabpage_1.create
  3715. this.dw_1=create dw_1
  3716. this.Control[]={this.dw_1}
  3717. end on
  3718. on tabpage_1.destroy
  3719. destroy(this.dw_1)
  3720. end on
  3721. type dw_1 from u_dw_rbtnfilter within tabpage_1
  3722. integer width = 942
  3723. integer height = 872
  3724. integer taborder = 20
  3725. string dataobject = "dw_email_sendmx"
  3726. boolean hscrollbar = true
  3727. boolean vscrollbar = true
  3728. boolean hsplitscroll = true
  3729. boolean autosave_columnvisible_use = false
  3730. end type
  3731. event losefocus;call super::losefocus;uf_updaterevlist()
  3732. end event
  3733. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <= 0 THEN RETURN
  3734. THIS.SelectRow(0,FALSE)
  3735. THIS.SelectRow(currentrow,TRUE)
  3736. end event
  3737. event clicked;call super::clicked;THIS.SelectRow(0,FALSE)
  3738. THIS.SelectRow(row,TRUE)
  3739. unRegisterHotKey(uo_html.sys_handle, uo_html.sys_atomid)
  3740. end event
  3741. type tabpage_2 from userobject within tab_1
  3742. integer x = 18
  3743. integer y = 96
  3744. integer width = 942
  3745. integer height = 896
  3746. long backcolor = 134217739
  3747. string text = "信纸"
  3748. long tabtextcolor = 33554432
  3749. long tabbackcolor = 134217739
  3750. long picturemaskcolor = 536870912
  3751. ddlb_1 ddlb_1
  3752. st_13 st_13
  3753. cb_10 cb_10
  3754. dw_2 dw_2
  3755. end type
  3756. on tabpage_2.create
  3757. this.ddlb_1=create ddlb_1
  3758. this.st_13=create st_13
  3759. this.cb_10=create cb_10
  3760. this.dw_2=create dw_2
  3761. this.Control[]={this.ddlb_1,&
  3762. this.st_13,&
  3763. this.cb_10,&
  3764. this.dw_2}
  3765. end on
  3766. on tabpage_2.destroy
  3767. destroy(this.ddlb_1)
  3768. destroy(this.st_13)
  3769. destroy(this.cb_10)
  3770. destroy(this.dw_2)
  3771. end on
  3772. type ddlb_1 from dropdownlistbox within tabpage_2
  3773. integer x = 329
  3774. integer width = 480
  3775. integer height = 300
  3776. integer taborder = 60
  3777. integer textsize = -9
  3778. integer weight = 400
  3779. fontcharset fontcharset = gb2312charset!
  3780. fontpitch fontpitch = variable!
  3781. string facename = "宋体"
  3782. long textcolor = 33554432
  3783. long backcolor = 134217739
  3784. borderstyle borderstyle = stylelowered!
  3785. end type
  3786. event selectionchanged;string txt
  3787. paperStyle=this.text
  3788. dw_2.retrieve(publ_userid,paperStyle)
  3789. end event
  3790. type st_13 from statictext within tabpage_2
  3791. integer x = 187
  3792. integer y = 20
  3793. integer width = 151
  3794. integer height = 48
  3795. integer textsize = -9
  3796. integer weight = 400
  3797. fontcharset fontcharset = gb2312charset!
  3798. fontpitch fontpitch = variable!
  3799. string facename = "宋体"
  3800. long textcolor = 33554432
  3801. long backcolor = 67108864
  3802. string text = "分组:"
  3803. boolean focusrectangle = false
  3804. end type
  3805. type cb_10 from commandbutton within tabpage_2
  3806. integer x = 9
  3807. integer y = 8
  3808. integer width = 87
  3809. integer height = 68
  3810. integer taborder = 60
  3811. integer textsize = -9
  3812. integer weight = 400
  3813. fontcharset fontcharset = gb2312charset!
  3814. fontpitch fontpitch = variable!
  3815. string facename = "宋体"
  3816. string text = "+"
  3817. end type
  3818. event clicked;s_email_letterpaper s_parm
  3819. s_parm.paperid=0
  3820. s_parm.ownerid=publ_userid
  3821. //openwithparm(w_email_letterpaper_edit,s_parm)
  3822. openwithparm(w_email_letterpaper_importmht,s_parm)
  3823. end event
  3824. type dw_2 from u_dw_rbtnfilter within tabpage_2
  3825. integer x = 9
  3826. integer y = 80
  3827. integer width = 933
  3828. integer height = 748
  3829. integer taborder = 20
  3830. string dataobject = "dw_email_lettepaper_list"
  3831. boolean hscrollbar = true
  3832. boolean vscrollbar = true
  3833. boolean hsplitscroll = true
  3834. end type
  3835. event clicked;call super::clicked;Long id
  3836. unRegisterHotKey(uo_html.sys_handle, uo_html.sys_atomid)
  3837. IF row = 0 THEN
  3838. RETURN
  3839. END IF
  3840. IF row > This.RowCount() THEN
  3841. RETURN
  3842. END IF
  3843. id = This.Object.paperid[row]
  3844. //messagebox('',string(dwo.Name))
  3845. IF dw_2.DataObject = 'dw_email_lettepaper_list' THEN
  3846. IF dwo.Name = 'b_1' THEN
  3847. // IF tab_1.tabpage_2.ddlb_1.Text <> '自定义' THEN RETURN
  3848. IF This.Object.ownerid[row] <> publ_userid THEN
  3849. MessageBox('提示','非信纸创建者不能删除该信纸!')
  3850. RETURN
  3851. END IF
  3852. Long cnt
  3853. This.DeleteRow(row)
  3854. DELETE u_email_letterpaper
  3855. WHERE paperid = :id
  3856. Using fj_tran;
  3857. IF fj_tran.SQLCode <> 0 THEN
  3858. ROLLBACK Using fj_tran;
  3859. dw_2.Retrieve(publ_userid,paperStyle)
  3860. ELSE
  3861. COMMIT Using fj_tran;
  3862. END IF
  3863. END IF
  3864. IF dwo.Name = 'papername' THEN
  3865. string txt=''
  3866. // txt=uo_html.uf_gettext()
  3867. wf_setbackground(id)
  3868. // uo_html.uf_settext('hi')
  3869. backgroundid = id
  3870. END IF
  3871. ELSEIF dw_2.DataObject = 'dw_email_lettepaper' THEN
  3872. END IF
  3873. end event
  3874. event doubleclicked;call super::doubleclicked;IF dwo.Name = 'papername' THEN
  3875. if this.object.ownerid[row]<>publ_userid then
  3876. messagebox('提示','非信纸创建者不能修改该信纸!')
  3877. return
  3878. end if
  3879. s_email_letterpaper s_parm
  3880. s_parm.paperid = dw_2.Object.paperid[dw_2.GetRow()]
  3881. s_parm.ownerid = publ_userid
  3882. OpenWithParm(w_email_letterpaper_importmht,s_parm)
  3883. END IF
  3884. end event
  3885. type tabpage_3 from userobject within tab_1
  3886. event create ( )
  3887. event destroy ( )
  3888. integer x = 18
  3889. integer y = 96
  3890. integer width = 942
  3891. integer height = 896
  3892. long backcolor = 134217739
  3893. string text = "抄送人"
  3894. long tabtextcolor = 33554432
  3895. long tabbackcolor = 134217739
  3896. long picturemaskcolor = 536870912
  3897. dw_cc dw_cc
  3898. end type
  3899. on tabpage_3.create
  3900. this.dw_cc=create dw_cc
  3901. this.Control[]={this.dw_cc}
  3902. end on
  3903. on tabpage_3.destroy
  3904. destroy(this.dw_cc)
  3905. end on
  3906. type dw_cc from u_dw_rbtnfilter within tabpage_3
  3907. integer y = 8
  3908. integer width = 942
  3909. integer height = 872
  3910. integer taborder = 40
  3911. boolean bringtotop = true
  3912. string dataobject = "dw_email_sendmx"
  3913. boolean hscrollbar = true
  3914. boolean vscrollbar = true
  3915. boolean hsplitscroll = true
  3916. boolean autosave_columnvisible_use = false
  3917. end type
  3918. event clicked;call super::clicked;THIS.SelectRow(0,FALSE)
  3919. THIS.SelectRow(row,TRUE)
  3920. unRegisterHotKey(uo_html.sys_handle, uo_html.sys_atomid)
  3921. end event
  3922. event losefocus;call super::losefocus;uf_updaterevlist()
  3923. end event
  3924. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <= 0 THEN RETURN
  3925. THIS.SelectRow(0,FALSE)
  3926. THIS.SelectRow(currentrow,TRUE)
  3927. end event
  3928. type ln_bar from line within w_email_send_new
  3929. long linecolor = 268435456
  3930. integer linethickness = 4
  3931. integer beginy = 172
  3932. integer endx = 3200
  3933. integer endy = 172
  3934. end type
  3935. type ln_bar2 from line within w_email_send_new
  3936. long linecolor = 16777215
  3937. integer linethickness = 4
  3938. integer beginx = 14
  3939. integer beginy = 176
  3940. integer endx = 3278
  3941. integer endy = 176
  3942. end type
  3943. type r_bar from rectangle within w_email_send_new
  3944. long linecolor = 16777215
  3945. integer linethickness = 4
  3946. long fillcolor = 1073741824
  3947. integer x = 3401
  3948. integer width = 87
  3949. integer height = 68
  3950. end type
  3951. event constructor;this.fillcolor = 14215660
  3952. this.linecolor = 14215660
  3953. this.x = -1
  3954. this.y = -1
  3955. this.height = ln_bar.beginy - 5
  3956. end event
  3957. type ddlb_2 from dropdownlistbox within w_email_send_new
  3958. integer x = 2583
  3959. integer y = 28
  3960. integer width = 480
  3961. integer height = 300
  3962. integer taborder = 50
  3963. boolean bringtotop = true
  3964. integer textsize = -9
  3965. integer weight = 400
  3966. fontcharset fontcharset = gb2312charset!
  3967. fontpitch fontpitch = variable!
  3968. string facename = "宋体"
  3969. long textcolor = 33554432
  3970. boolean sorted = false
  3971. borderstyle borderstyle = stylelowered!
  3972. end type
  3973. event constructor;//
  3974. //Long cnt
  3975. //datastore ds
  3976. //ds = Create datastore
  3977. //ds.DataObject = 'dw_email_signlist'
  3978. //ds.SetTrans(fj_tran)
  3979. //
  3980. //ds.Retrieve(publ_userid)
  3981. //FOR cnt = 1 To ds.RowCount()
  3982. //
  3983. //this.insertitem(ds.Object.signname[cnt]+' ,'+string(ds.object.id[cnt]),1)
  3984. //NEXT
  3985. //
  3986. //this.insertitem('不使用签名 ,-1',1)
  3987. //
  3988. //destroy ds
  3989. end event
  3990. event selectionchanged;String newSign,htmltext,ls_msg,itemtxt,id
  3991. Long signid,selectid,pos1,pos2
  3992. itemtxt = This.Text
  3993. pos1 = Pos(itemtxt,'[')
  3994. pos2 = Pos(itemtxt,']')
  3995. id = Mid(itemtxt,pos1+1,pos2 - pos1 - 1)
  3996. signid = Long(id)
  3997. //selectid=this.finditem(this.text,1)
  3998. //signid=signlist[selectid]
  3999. IF signid <> -1 THEN
  4000. SELECT signcontent
  4001. INTO :newsign
  4002. FROM u_email_signature
  4003. WHERE id = :signid
  4004. Using fj_tran;
  4005. IF fj_tran.SQLCode <> 0 THEN
  4006. newSign = '<DIV id=signName style="MARGIN-TOP: 0px; cellpadding: 0px; cellspacing: 0px" width="100%" height="100%" valign="top"> </DIV id=signName>'
  4007. END IF
  4008. ELSE
  4009. newSign = '<DIV id=signName style="MARGIN-TOP: 0px; cellpadding: 0px; cellspacing: 0px" width="100%" height="100%" valign="top"> </DIV id=signName>'
  4010. END IF
  4011. uo_email_sign uo_sign
  4012. uo_sign = Create uo_email_sign
  4013. //messagebox('','ddlb2.select')
  4014. htmltext = uo_html.uf_gethtml()
  4015. IF cbx_2.Checked = False THEN
  4016. uo_sign.uf_changesign(newSign,Ref htmltext,Ref ls_msg)
  4017. ELSE
  4018. htmltext = htmltext + newSign
  4019. END IF
  4020. // get image from database
  4021. //
  4022. ///////////////////////////////////////////////////
  4023. //string sss
  4024. //sss='<div ui-type="attCon" class="attbg" style="padding:2px;" id="attachment"><div class="txt_left" style="padding:6px 10px 10px 8px;"><div style="height:14px;"><a select="" ck="previewAttach" href="javascript:;" style="padding-top:1px;" class="right"><img class="ico_preview" src="http://rescdn.qqmail.com/zh_CN/htmledition/images/spacer104474.gif">附件预览</a></div>'
  4025. //htmltext=htmltext + sss
  4026. uo_html.uf_sethtml(htmltext)
  4027. end event
  4028. type cb_8 from uo_imflatbutton within w_email_send_new
  4029. integer x = 2190
  4030. integer y = 24
  4031. integer width = 384
  4032. integer height = 80
  4033. integer taborder = 50
  4034. boolean bringtotop = true
  4035. string text = "插入联系人"
  4036. end type
  4037. event clicked;call super::clicked;string ls_old
  4038. ls_old = Clipboard()
  4039. Clipboard("[联系人]")
  4040. uo_html.ole_web.object.Document.ExecCommand("Paste", true, 0)
  4041. Clipboard(ls_old)
  4042. uo_html.ole_web.setfocus()
  4043. uo_html.uf_refreshtoolbar()
  4044. end event
  4045. type mle_revlist from uo_mle_demo within w_email_send_new
  4046. integer x = 311
  4047. integer y = 368
  4048. integer width = 2871
  4049. integer height = 200
  4050. integer taborder = 80
  4051. integer textsize = -9
  4052. integer weight = 400
  4053. fontcharset fontcharset = gb2312charset!
  4054. fontpitch fontpitch = variable!
  4055. string facename = "宋体"
  4056. long textcolor = 16711680
  4057. boolean vscrollbar = true
  4058. boolean autovscroll = true
  4059. borderstyle borderstyle = stylelowered!
  4060. end type
  4061. event ue_topmost;call super::ue_topmost;String mailname, mailAddress
  4062. IF Not cbx_auto.Checked THEN
  4063. arg_out = arg_in
  4064. RETURN
  4065. END IF
  4066. //long ll_row
  4067. //DataStore ds
  4068. //ds = Create DataStore
  4069. //ds.dataobject = 'dw_sandmail'
  4070. //ds.settrans(sqlca)
  4071. //ll_row = ds.find("mailname like '" + arg_in + "%'", 1, ds.RowCount())
  4072. //if ll_row > 0 then
  4073. // arg_out = ds.object.mailname[ll_row] + '<' + ds.object.mailaddress[ll_row] + '>'
  4074. // goto ext
  4075. //end if
  4076. //
  4077. //ll_row = ds.find("mailaddress like '" + arg_in + "%'", 1, ds.RowCount())
  4078. //if ll_row > 0 then
  4079. // arg_out = ds.object.mailaddress[ll_row]
  4080. // goto ext
  4081. //end if
  4082. //
  4083. //ext:
  4084. //destroy(ds)
  4085. // u_email_rep
  4086. SELECT top 1 u_email_rep.mailname, u_email_rep.mailaddress
  4087. INTO :mailname, :mailAddress
  4088. FROM u_email_rep
  4089. WHERE (u_email_rep.mailname LIKE (:arg_in + '%')) AND ((empid = :sys_empid) OR
  4090. (empid = 0) And (reptype = 1)) Using sqlca;
  4091. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4092. arg_out = mailname + '<' + mailAddress + '>'
  4093. RETURN
  4094. END IF
  4095. SELECT TOP 1 mailname, mailaddress INTO :mailname, :mailAddress
  4096. FROM u_email_rep
  4097. WHERE mailaddress LIKE (:arg_in + '%') AND ((empid = :sys_empid) OR
  4098. (empid = 0) And (reptype = 1)) ;
  4099. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4100. arg_out = mailAddress
  4101. RETURN
  4102. END IF
  4103. // u_cust
  4104. String ls_area = '-1,'
  4105. Long i
  4106. String ls_str_sql
  4107. ls_str_sql = ''
  4108. ls_str_sql = ls_str_sql + "Select top 1 cuscode, email From u_cust "
  4109. ls_str_sql = ls_str_sql + "where (cuscode like(? + '%')) and (inuse = 1) AND (cusareaid in (-1,"
  4110. FOR i = 1 To UpperBound(sys_areaid)
  4111. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4112. NEXT
  4113. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4114. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4115. DECLARE cursor_cust Dynamic Cursor FOR SQLSA;
  4116. PREPARE SQLSA From :ls_str_sql;
  4117. OPEN Dynamic cursor_cust Using :arg_in;
  4118. FETCH cursor_cust Into :mailname,:mailAddress;
  4119. CLOSE cursor_cust;
  4120. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4121. arg_out = mailname + '<' + mailAddress + '>'
  4122. RETURN
  4123. END IF
  4124. ls_str_sql = ''
  4125. ls_str_sql = ls_str_sql + "Select top 1 cuscode, email From u_cust "
  4126. ls_str_sql = ls_str_sql + "where (email like(? + '%')) and (inuse = 1) AND (cusareaid in (-1,"
  4127. FOR i = 1 To UpperBound(sys_areaid)
  4128. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4129. NEXT
  4130. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4131. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4132. DECLARE cursor_cust1 Dynamic Cursor FOR SQLSA;
  4133. PREPARE SQLSA From :ls_str_sql;
  4134. OPEN Dynamic cursor_cust1 Using :arg_in;
  4135. FETCH cursor_cust1 Into :mailname,:mailAddress;
  4136. CLOSE cursor_cust1;
  4137. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4138. arg_out = mailAddress
  4139. RETURN
  4140. END IF
  4141. // u_cust_rep
  4142. ls_str_sql = ''
  4143. ls_str_sql = ls_str_sql + "SELECT top 1 RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)), u_cust_rep.email "
  4144. ls_str_sql = ls_str_sql + " FROM u_cust AS u_cust_1 INNER JOIN "
  4145. ls_str_sql = ls_str_sql + " u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid "
  4146. ls_str_sql = ls_str_sql + " WHERE (u_cust_1.inuse = 1) AND (u_cust_1.cusareaid IN (-1,"
  4147. FOR i = 1 To UpperBound(sys_areaid)
  4148. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4149. NEXT
  4150. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4151. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_cust_rep.email)) <> '') "
  4152. ls_str_sql = ls_str_sql + " AND RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)) like (? + '%')"
  4153. DECLARE cursor_cust_rep Dynamic Cursor FOR SQLSA;
  4154. PREPARE SQLSA From :ls_str_sql;
  4155. OPEN Dynamic cursor_cust_rep Using :arg_in;
  4156. FETCH cursor_cust_rep Into :mailname,:mailAddress;
  4157. CLOSE cursor_cust_rep;
  4158. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4159. arg_out = mailname + '<' + mailAddress + '>'
  4160. RETURN
  4161. END IF
  4162. ls_str_sql = ''
  4163. ls_str_sql = ls_str_sql + "SELECT top 1 RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)), u_cust_rep.email "
  4164. ls_str_sql = ls_str_sql + " FROM u_cust AS u_cust_1 INNER JOIN "
  4165. ls_str_sql = ls_str_sql + " u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid "
  4166. ls_str_sql = ls_str_sql + " WHERE (u_cust_1.inuse = 1) AND (u_cust_1.cusareaid IN (-1,"
  4167. FOR i = 1 To UpperBound(sys_areaid)
  4168. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4169. NEXT
  4170. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4171. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_cust_rep.email)) <> '') "
  4172. ls_str_sql = ls_str_sql + " AND u_cust_rep.email like (? + '%')"
  4173. DECLARE cursor_cust_rep1 Dynamic Cursor FOR SQLSA;
  4174. PREPARE SQLSA From :ls_str_sql;
  4175. OPEN Dynamic cursor_cust_rep1 Using :arg_in;
  4176. FETCH cursor_cust_rep1 Into :mailname,:mailAddress;
  4177. CLOSE cursor_cust_rep1;
  4178. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4179. arg_out = mailAddress
  4180. RETURN
  4181. END IF
  4182. // u_spt
  4183. ls_str_sql = ''
  4184. ls_str_sql = ls_str_sql + "SELECT top 1 sptcode, email FROM u_spt "
  4185. ls_str_sql = ls_str_sql + " WHERE (inuse = 1) AND (spttypeid IN (-1,"
  4186. FOR i = 1 To UpperBound(sys_user_spttype)
  4187. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4188. NEXT
  4189. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4190. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4191. ls_str_sql = ls_str_sql + " AND sptcode like (? + '%'); "
  4192. DECLARE cursor_spt Dynamic Cursor FOR SQLSA;
  4193. PREPARE SQLSA From :ls_str_sql;
  4194. OPEN Dynamic cursor_spt Using :arg_in;
  4195. FETCH cursor_spt Into :mailname,:mailAddress;
  4196. CLOSE cursor_spt;
  4197. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4198. arg_out = mailname + '<' + mailAddress + '>'
  4199. RETURN
  4200. END IF
  4201. ls_str_sql = ''
  4202. ls_str_sql = ls_str_sql + "SELECT top 1 sptcode, email FROM u_spt "
  4203. ls_str_sql = ls_str_sql + " WHERE (inuse = 1) AND (spttypeid IN (-1,"
  4204. FOR i = 1 To UpperBound(sys_user_spttype)
  4205. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4206. NEXT
  4207. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4208. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4209. ls_str_sql = ls_str_sql + " AND email like (? + '%'); "
  4210. DECLARE cursor_spt1 Dynamic Cursor FOR SQLSA;
  4211. PREPARE SQLSA From :ls_str_sql;
  4212. OPEN Dynamic cursor_spt1 Using :arg_in;
  4213. FETCH cursor_spt1 Into :mailname,:mailAddress;
  4214. CLOSE cursor_spt1;
  4215. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4216. arg_out = mailAddress
  4217. RETURN
  4218. END IF
  4219. // u_spt_rep
  4220. ls_str_sql = ''
  4221. ls_str_sql = ls_str_sql + "SELECT TOP 1 RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)), "
  4222. ls_str_sql = ls_str_sql + " u_spt_rep.email "
  4223. ls_str_sql = ls_str_sql + " FROM u_spt AS u_spt_1 INNER JOIN "
  4224. ls_str_sql = ls_str_sql + " u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid "
  4225. ls_str_sql = ls_str_sql + " WHERE (u_spt_1.inuse = 1) AND (u_spt_1.spttypeid IN (-1,"
  4226. FOR i = 1 To UpperBound(sys_user_spttype)
  4227. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4228. NEXT
  4229. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4230. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_spt_rep.email)) <> '') "
  4231. ls_str_sql = ls_str_sql + " AND RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)) like (? + '%')"
  4232. DECLARE cursor_spt_rep Dynamic Cursor FOR SQLSA;
  4233. PREPARE SQLSA From :ls_str_sql;
  4234. OPEN Dynamic cursor_spt_rep Using :arg_in;
  4235. FETCH cursor_spt_rep Into :mailname,:mailAddress;
  4236. CLOSE cursor_spt_rep;
  4237. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4238. arg_out = mailname + '<' + mailAddress + '>'
  4239. RETURN
  4240. END IF
  4241. ls_str_sql = ''
  4242. ls_str_sql = ls_str_sql + "SELECT TOP 1 RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)), "
  4243. ls_str_sql = ls_str_sql + " u_spt_rep.email "
  4244. ls_str_sql = ls_str_sql + " FROM u_spt AS u_spt_1 INNER JOIN "
  4245. ls_str_sql = ls_str_sql + " u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid "
  4246. ls_str_sql = ls_str_sql + " WHERE (u_spt_1.inuse = 1) AND (u_spt_1.spttypeid IN (-1,"
  4247. FOR i = 1 To UpperBound(sys_user_spttype)
  4248. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4249. NEXT
  4250. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4251. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_spt_rep.email)) <> '') "
  4252. ls_str_sql = ls_str_sql + " AND u_spt_rep.email like (? + '%')"
  4253. DECLARE cursor_spt_rep1 Dynamic Cursor FOR SQLSA;
  4254. PREPARE SQLSA From :ls_str_sql;
  4255. OPEN Dynamic cursor_spt_rep1 Using :arg_in;
  4256. FETCH cursor_spt_rep1 Into :mailname,:mailAddress;
  4257. CLOSE cursor_spt_rep1;
  4258. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4259. arg_out = mailAddress
  4260. RETURN
  4261. END IF
  4262. end event
  4263. event losefocus;call super::losefocus;dw_revlist.setredraw(false)
  4264. wf_makerevlist()
  4265. uf_updaterevlist()
  4266. dw_revlist.setRedraw(true)
  4267. end event
  4268. event keyup;call super::keyup;parent.triggerevent('ue_set_height')
  4269. end event
  4270. event getfocus;call super::getfocus;unRegisterHotKey(uo_html.sys_handle, uo_html.sys_atomid)
  4271. end event
  4272. type cbx_auto from checkbox within w_email_send_new
  4273. boolean visible = false
  4274. integer x = 3771
  4275. integer y = 412
  4276. integer width = 283
  4277. integer height = 52
  4278. boolean bringtotop = true
  4279. integer textsize = -9
  4280. integer weight = 400
  4281. fontcharset fontcharset = gb2312charset!
  4282. fontpitch fontpitch = variable!
  4283. string facename = "宋体"
  4284. long textcolor = 33554432
  4285. long backcolor = 134217739
  4286. string text = "联想"
  4287. end type
  4288. event clicked;Long ll_check = 0
  4289. IF This.Checked THEN
  4290. ll_check = 1
  4291. ELSE
  4292. ll_check = 0
  4293. END IF
  4294. f_setProfileString(sys_empid, Parent.ClassName(), This.ClassName(), String(ll_check))
  4295. end event
  4296. event constructor;Long ll_check = 0
  4297. ll_check = Long(f_ProfileString(sys_empid, Parent.ClassName(), This.ClassName(), '1'))
  4298. This.Checked = (ll_check = 1)
  4299. end event
  4300. type cb_send from uo_imflatbutton within w_email_send_new
  4301. integer width = 165
  4302. integer height = 164
  4303. integer taborder = 20
  4304. boolean bringtotop = true
  4305. string text = "发送"
  4306. string normalpicname = "email_view2.bmp"
  4307. integer picsize = 16
  4308. toolbaralignment pic_align = alignattop!
  4309. boolean border = false
  4310. end type
  4311. event clicked;call super::clicked;if not wf_hasDotNet() then
  4312. MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
  4313. RETURN
  4314. end if
  4315. string ls_msg
  4316. //将邮件背景添加到附件
  4317. //if backgroundid<>0 then
  4318. // wf_addbacktofj(backgroundid)
  4319. //end if
  4320. //messagebox('','1')
  4321. if wf_save(ls_msg) <> 1 then
  4322. MessageBox('错误', ls_msg, stopsign!)
  4323. return
  4324. end if
  4325. // 保存成功 发送
  4326. string ls_run
  4327. ls_run = 'longjoe_rev.exe -longjoe&'&
  4328. + sys_system_id + '&'&
  4329. + sys_cur_version + '&'&
  4330. + String(sys_if_register) + '&'&
  4331. + Commit_Tran.Database + '&'&
  4332. + Commit_Tran.UserID + '&'&
  4333. + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
  4334. + Commit_Tran.LogID + '&'&
  4335. + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
  4336. + Commit_Tran.ServerName + '&'&
  4337. + string(sys_empid) + '&'&
  4338. + string(s_send.mailid) + '&'&
  4339. + '1&'&
  4340. + fj_tran.Database + '&'&
  4341. + fj_tran.UserID + '&'&
  4342. + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
  4343. + fj_tran.LogID + '&'&
  4344. + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
  4345. + fj_tran.ServerName + '&'&
  4346. + string(s_send.sendid) + '&'
  4347. //messagebox('','2')
  4348. IF Run(sys_cur_path + ls_run) = -1 THEN
  4349. MessageBox('错误','运行程序失败!',stopsign!,ok!)
  4350. RETURN
  4351. END IF
  4352. // 关闭自己
  4353. uo_html.uf_setfont()
  4354. close(parent)
  4355. end event
  4356. type cbx_hz from checkbox within w_email_send_new
  4357. integer x = 3461
  4358. integer y = 96
  4359. integer width = 210
  4360. integer height = 60
  4361. boolean bringtotop = true
  4362. integer textsize = -9
  4363. integer weight = 400
  4364. fontcharset fontcharset = gb2312charset!
  4365. fontpitch fontpitch = variable!
  4366. string facename = "宋体"
  4367. long textcolor = 33554432
  4368. long backcolor = 15793151
  4369. string text = "回执"
  4370. boolean lefttext = true
  4371. end type
  4372. type cbx_2 from checkbox within w_email_send_new
  4373. integer x = 3081
  4374. integer y = 20
  4375. integer width = 247
  4376. integer height = 60
  4377. boolean bringtotop = true
  4378. integer textsize = -9
  4379. integer weight = 400
  4380. fontcharset fontcharset = gb2312charset!
  4381. fontpitch fontpitch = variable!
  4382. string facename = "宋体"
  4383. long textcolor = 33554432
  4384. long backcolor = 15793151
  4385. string text = "多签名"
  4386. boolean lefttext = true
  4387. end type
  4388. type cbx_3 from checkbox within w_email_send_new
  4389. integer x = 3424
  4390. integer y = 20
  4391. integer width = 247
  4392. integer height = 60
  4393. boolean bringtotop = true
  4394. integer textsize = -9
  4395. integer weight = 400
  4396. fontcharset fontcharset = gb2312charset!
  4397. fontpitch fontpitch = variable!
  4398. string facename = "宋体"
  4399. long textcolor = 33554432
  4400. long backcolor = 15793151
  4401. string text = "紧急"
  4402. boolean lefttext = true
  4403. end type
  4404. type cb_11 from uo_imflatbutton within w_email_send_new
  4405. integer x = 174
  4406. integer width = 247
  4407. integer height = 164
  4408. integer taborder = 40
  4409. boolean bringtotop = true
  4410. string text = "定时发送"
  4411. string normalpicname = "email_view2.bmp"
  4412. integer picsize = 16
  4413. toolbaralignment pic_align = alignattop!
  4414. boolean border = false
  4415. end type
  4416. event clicked;call super::clicked;Open(w_email_ds)
  4417. //messagebox("",string(message.stringparm))
  4418. IF Message.StringParm = "cancel" THEN
  4419. RETURN
  4420. END IF
  4421. s_send.senddate = DateTime(Message.StringParm)
  4422. IF dw_edit_mode THEN RETURN
  4423. String ls_msg
  4424. IF sle_mailtype.Text <> '未发' THEN
  4425. // 另存
  4426. s_send.sendid = 0
  4427. sle_mailtype.Text = '未发'
  4428. END IF
  4429. IF wf_save(ls_msg) = 0 THEN
  4430. MessageBox('错误',ls_msg, StopSign!, OK! )
  4431. ELSE
  4432. MessageBox('提示',"保存成功!邮件将会在" + Message.StringParm + "定时发送" , Information!, OK! )
  4433. close(parent)
  4434. END IF
  4435. end event
  4436. type st_cc from uo_text_m within w_email_send_new
  4437. integer x = 46
  4438. integer y = 604
  4439. integer width = 247
  4440. integer height = 60
  4441. boolean bringtotop = true
  4442. integer textsize = -9
  4443. boolean underline = true
  4444. long textcolor = 16711680
  4445. long backcolor = 134217739
  4446. string text = "抄送人"
  4447. alignment alignment = right!
  4448. integer ifonraise = 5
  4449. end type
  4450. event clicked;call super::clicked;parent.triggerevent('ue_sendmx_cc')
  4451. end event
  4452. type mle_cc from uo_mle_demo within w_email_send_new
  4453. integer x = 311
  4454. integer y = 576
  4455. integer width = 3223
  4456. integer height = 84
  4457. integer taborder = 90
  4458. boolean bringtotop = true
  4459. integer textsize = -9
  4460. integer weight = 400
  4461. fontcharset fontcharset = gb2312charset!
  4462. fontpitch fontpitch = variable!
  4463. string facename = "宋体"
  4464. long textcolor = 16711680
  4465. boolean vscrollbar = true
  4466. boolean autovscroll = true
  4467. borderstyle borderstyle = stylelowered!
  4468. end type
  4469. event getfocus;call super::getfocus;unRegisterHotKey(uo_html.sys_handle, uo_html.sys_atomid)
  4470. end event
  4471. event losefocus;call super::losefocus;dw_cc.setredraw(false)
  4472. wf_makerevlist_cc()
  4473. uf_updaterevlist_cc()
  4474. dw_cc.setRedraw(true)
  4475. end event
  4476. event keyup;call super::keyup;//parent.triggerevent('ue_set_height')
  4477. end event
  4478. event ue_topmost;call super::ue_topmost;String mailname, mailAddress
  4479. IF Not cbx_auto.Checked THEN
  4480. arg_out = arg_in
  4481. RETURN
  4482. END IF
  4483. //long ll_row
  4484. //DataStore ds
  4485. //ds = Create DataStore
  4486. //ds.dataobject = 'dw_sandmail'
  4487. //ds.settrans(sqlca)
  4488. //ll_row = ds.find("mailname like '" + arg_in + "%'", 1, ds.RowCount())
  4489. //if ll_row > 0 then
  4490. // arg_out = ds.object.mailname[ll_row] + '<' + ds.object.mailaddress[ll_row] + '>'
  4491. // goto ext
  4492. //end if
  4493. //
  4494. //ll_row = ds.find("mailaddress like '" + arg_in + "%'", 1, ds.RowCount())
  4495. //if ll_row > 0 then
  4496. // arg_out = ds.object.mailaddress[ll_row]
  4497. // goto ext
  4498. //end if
  4499. //
  4500. //ext:
  4501. //destroy(ds)
  4502. // u_email_rep
  4503. SELECT top 1 u_email_rep.mailname, u_email_rep.mailaddress
  4504. INTO :mailname, :mailAddress
  4505. FROM u_email_rep
  4506. WHERE (u_email_rep.mailname LIKE (:arg_in + '%')) AND ((empid = :sys_empid) OR
  4507. (empid = 0) And (reptype = 1)) Using sqlca;
  4508. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4509. arg_out = mailname + '<' + mailAddress + '>'
  4510. RETURN
  4511. END IF
  4512. SELECT TOP 1 mailname, mailaddress INTO :mailname, :mailAddress
  4513. FROM u_email_rep
  4514. WHERE mailaddress LIKE (:arg_in + '%') AND ((empid = :sys_empid) OR
  4515. (empid = 0) And (reptype = 1)) ;
  4516. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4517. arg_out = mailAddress
  4518. RETURN
  4519. END IF
  4520. // u_cust
  4521. String ls_area = '-1,'
  4522. Long i
  4523. String ls_str_sql
  4524. ls_str_sql = ''
  4525. ls_str_sql = ls_str_sql + "Select top 1 cuscode, email From u_cust "
  4526. ls_str_sql = ls_str_sql + "where (cuscode like(? + '%')) and (inuse = 1) AND (cusareaid in (-1,"
  4527. FOR i = 1 To UpperBound(sys_areaid)
  4528. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4529. NEXT
  4530. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4531. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4532. DECLARE cursor_cust Dynamic Cursor FOR SQLSA;
  4533. PREPARE SQLSA From :ls_str_sql;
  4534. OPEN Dynamic cursor_cust Using :arg_in;
  4535. FETCH cursor_cust Into :mailname,:mailAddress;
  4536. CLOSE cursor_cust;
  4537. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4538. arg_out = mailname + '<' + mailAddress + '>'
  4539. RETURN
  4540. END IF
  4541. ls_str_sql = ''
  4542. ls_str_sql = ls_str_sql + "Select top 1 cuscode, email From u_cust "
  4543. ls_str_sql = ls_str_sql + "where (email like(? + '%')) and (inuse = 1) AND (cusareaid in (-1,"
  4544. FOR i = 1 To UpperBound(sys_areaid)
  4545. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4546. NEXT
  4547. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4548. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4549. DECLARE cursor_cust1 Dynamic Cursor FOR SQLSA;
  4550. PREPARE SQLSA From :ls_str_sql;
  4551. OPEN Dynamic cursor_cust1 Using :arg_in;
  4552. FETCH cursor_cust1 Into :mailname,:mailAddress;
  4553. CLOSE cursor_cust1;
  4554. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4555. arg_out = mailAddress
  4556. RETURN
  4557. END IF
  4558. // u_cust_rep
  4559. ls_str_sql = ''
  4560. ls_str_sql = ls_str_sql + "SELECT top 1 RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)), u_cust_rep.email "
  4561. ls_str_sql = ls_str_sql + " FROM u_cust AS u_cust_1 INNER JOIN "
  4562. ls_str_sql = ls_str_sql + " u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid "
  4563. ls_str_sql = ls_str_sql + " WHERE (u_cust_1.inuse = 1) AND (u_cust_1.cusareaid IN (-1,"
  4564. FOR i = 1 To UpperBound(sys_areaid)
  4565. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4566. NEXT
  4567. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4568. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_cust_rep.email)) <> '') "
  4569. ls_str_sql = ls_str_sql + " AND RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)) like (? + '%')"
  4570. DECLARE cursor_cust_rep Dynamic Cursor FOR SQLSA;
  4571. PREPARE SQLSA From :ls_str_sql;
  4572. OPEN Dynamic cursor_cust_rep Using :arg_in;
  4573. FETCH cursor_cust_rep Into :mailname,:mailAddress;
  4574. CLOSE cursor_cust_rep;
  4575. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4576. arg_out = mailname + '<' + mailAddress + '>'
  4577. RETURN
  4578. END IF
  4579. ls_str_sql = ''
  4580. ls_str_sql = ls_str_sql + "SELECT top 1 RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)), u_cust_rep.email "
  4581. ls_str_sql = ls_str_sql + " FROM u_cust AS u_cust_1 INNER JOIN "
  4582. ls_str_sql = ls_str_sql + " u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid "
  4583. ls_str_sql = ls_str_sql + " WHERE (u_cust_1.inuse = 1) AND (u_cust_1.cusareaid IN (-1,"
  4584. FOR i = 1 To UpperBound(sys_areaid)
  4585. ls_str_sql = ls_str_sql + String(sys_areaid[i]) + ','
  4586. NEXT
  4587. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4588. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_cust_rep.email)) <> '') "
  4589. ls_str_sql = ls_str_sql + " AND u_cust_rep.email like (? + '%')"
  4590. DECLARE cursor_cust_rep1 Dynamic Cursor FOR SQLSA;
  4591. PREPARE SQLSA From :ls_str_sql;
  4592. OPEN Dynamic cursor_cust_rep1 Using :arg_in;
  4593. FETCH cursor_cust_rep1 Into :mailname,:mailAddress;
  4594. CLOSE cursor_cust_rep1;
  4595. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4596. arg_out = mailAddress
  4597. RETURN
  4598. END IF
  4599. // u_spt
  4600. ls_str_sql = ''
  4601. ls_str_sql = ls_str_sql + "SELECT top 1 sptcode, email FROM u_spt "
  4602. ls_str_sql = ls_str_sql + " WHERE (inuse = 1) AND (spttypeid IN (-1,"
  4603. FOR i = 1 To UpperBound(sys_user_spttype)
  4604. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4605. NEXT
  4606. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4607. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4608. ls_str_sql = ls_str_sql + " AND sptcode like (? + '%'); "
  4609. DECLARE cursor_spt Dynamic Cursor FOR SQLSA;
  4610. PREPARE SQLSA From :ls_str_sql;
  4611. OPEN Dynamic cursor_spt Using :arg_in;
  4612. FETCH cursor_spt Into :mailname,:mailAddress;
  4613. CLOSE cursor_spt;
  4614. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4615. arg_out = mailname + '<' + mailAddress + '>'
  4616. RETURN
  4617. END IF
  4618. ls_str_sql = ''
  4619. ls_str_sql = ls_str_sql + "SELECT top 1 sptcode, email FROM u_spt "
  4620. ls_str_sql = ls_str_sql + " WHERE (inuse = 1) AND (spttypeid IN (-1,"
  4621. FOR i = 1 To UpperBound(sys_user_spttype)
  4622. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4623. NEXT
  4624. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4625. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  4626. ls_str_sql = ls_str_sql + " AND email like (? + '%'); "
  4627. DECLARE cursor_spt1 Dynamic Cursor FOR SQLSA;
  4628. PREPARE SQLSA From :ls_str_sql;
  4629. OPEN Dynamic cursor_spt1 Using :arg_in;
  4630. FETCH cursor_spt1 Into :mailname,:mailAddress;
  4631. CLOSE cursor_spt1;
  4632. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4633. arg_out = mailAddress
  4634. RETURN
  4635. END IF
  4636. // u_spt_rep
  4637. ls_str_sql = ''
  4638. ls_str_sql = ls_str_sql + "SELECT TOP 1 RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)), "
  4639. ls_str_sql = ls_str_sql + " u_spt_rep.email "
  4640. ls_str_sql = ls_str_sql + " FROM u_spt AS u_spt_1 INNER JOIN "
  4641. ls_str_sql = ls_str_sql + " u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid "
  4642. ls_str_sql = ls_str_sql + " WHERE (u_spt_1.inuse = 1) AND (u_spt_1.spttypeid IN (-1,"
  4643. FOR i = 1 To UpperBound(sys_user_spttype)
  4644. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4645. NEXT
  4646. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4647. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_spt_rep.email)) <> '') "
  4648. ls_str_sql = ls_str_sql + " AND RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)) like (? + '%')"
  4649. DECLARE cursor_spt_rep Dynamic Cursor FOR SQLSA;
  4650. PREPARE SQLSA From :ls_str_sql;
  4651. OPEN Dynamic cursor_spt_rep Using :arg_in;
  4652. FETCH cursor_spt_rep Into :mailname,:mailAddress;
  4653. CLOSE cursor_spt_rep;
  4654. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4655. arg_out = mailname + '<' + mailAddress + '>'
  4656. RETURN
  4657. END IF
  4658. ls_str_sql = ''
  4659. ls_str_sql = ls_str_sql + "SELECT TOP 1 RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)), "
  4660. ls_str_sql = ls_str_sql + " u_spt_rep.email "
  4661. ls_str_sql = ls_str_sql + " FROM u_spt AS u_spt_1 INNER JOIN "
  4662. ls_str_sql = ls_str_sql + " u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid "
  4663. ls_str_sql = ls_str_sql + " WHERE (u_spt_1.inuse = 1) AND (u_spt_1.spttypeid IN (-1,"
  4664. FOR i = 1 To UpperBound(sys_user_spttype)
  4665. ls_str_sql = ls_str_sql + String(sys_user_spttype[i]) + ','
  4666. NEXT
  4667. ls_str_sql = Left(ls_str_sql, Len(ls_str_sql) - 1)
  4668. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_spt_rep.email)) <> '') "
  4669. ls_str_sql = ls_str_sql + " AND u_spt_rep.email like (? + '%')"
  4670. DECLARE cursor_spt_rep1 Dynamic Cursor FOR SQLSA;
  4671. PREPARE SQLSA From :ls_str_sql;
  4672. OPEN Dynamic cursor_spt_rep1 Using :arg_in;
  4673. FETCH cursor_spt_rep1 Into :mailname,:mailAddress;
  4674. CLOSE cursor_spt_rep1;
  4675. IF sqlca.SQLCode = 0 And Trim(mailAddress) <> '' THEN
  4676. arg_out = mailAddress
  4677. RETURN
  4678. END IF
  4679. end event
  4680. type pb_cc from picturebutton within w_email_send_new
  4681. integer x = 3561
  4682. integer y = 580
  4683. integer width = 110
  4684. integer height = 96
  4685. integer taborder = 100
  4686. boolean bringtotop = true
  4687. integer textsize = -9
  4688. fontcharset fontcharset = gb2312charset!
  4689. fontpitch fontpitch = variable!
  4690. string facename = "宋体"
  4691. string picturename = "people.bmp"
  4692. alignment htextalign = left!
  4693. string powertiptext = "收件人"
  4694. end type
  4695. event clicked;parent.triggerevent('ue_sendmx_cust_cc')
  4696. end event