Using SQLITE result as variable in FlexEvent
The desktop application I'm writing mainly calls XML files from a remote server and then displays the feeds. One of these displays is the current weather. The feed I'm connecting to makes use of a variable for the city. To custom this I have created a local SQLite database where the user can update the city they want the weather for.
Everything is working fine, but I'm unable to take the var extracted from the SQLite database and use it inside the FlexEvent handler to specify the var of the city for the feed. I URGENTLY need to get this working!! Is there anybody out there that can help?
The FlexEvent handler looks as follow:
protected function weather_creationCompleteHandler(event:FlexEvent):void
getDataResult12.token = weatherFeed.getData("weather", myWeather);
myWeather is the variable that needs to be changed to the data retreived from the SQLite database.
The SQLite database section looks as follow:
import flash.data.SQLStatement;
import flash.errors.SQLError;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
private var sqlc:SQLConnection = new SQLConnection();
private var sqls:SQLStatement = new SQLStatement();
private var sqls2:SQLStatement = new SQLStatement();
private var sqls3:SQLStatement = new SQLStatement();
[Bindable]
private var dp:ArrayCollection = new ArrayCollection();
private var data:Array = new Array();
private var myWeather:String;
private function init():void
var db:File = File.applicationStorageDirectory.resolvePath("preferences.db");
sqlc.openAsync(db);
sqlc.addEventListener(SQLEvent.OPEN, db_opened);
sqlc.addEventListener(SQLErrorEvent.ERROR, error);
sqls.addEventListener(SQLErrorEvent.ERROR, error);
sqls.addEventListener(SQLEvent.RESULT, resault);
private function db_opened(e:SQLEvent):void
sqls.sqlConnection = sqlc;
sqls2.sqlConnection = sqlc;
sqls3.sqlConnection = sqlc;
sqls.text = "CREATE TABLE IF NOT EXISTS preferences ( id INTEGER PRIMARY KEY AUTOINCREMENT, world_news INTEGER, sa_news INTEGER, bus_news INTEGER, weather TEXT);";
sqls.execute();
sqls2.text = "SELECT id FROM preferences LIMIT 1";
sqls2.execute();
if (dp.length == 0)
trace ("null");
sqls3.text = "INSERT INTO preferences (world_news, sa_news, bus_news, weather) VALUES('1','0','0','Cape Town');";
sqls3.execute();
refresh();
else
trace ("not null");
refresh();
private function addItem():void
sqls.text = "INSERT INTO preferences (world_news, sa_news, bus_news, weather) VALUES('1','0','0','Cape Town');";
sqls.execute();
refresh();
private function UpdateItem():void
sqls.text = "UPDATE preferences SET weather = '"+WeatherInput.text+"' WHERE id = 1";
sqls.execute();
refresh();
private function refresh(e:TimerEvent = null):void
var timer:Timer = new Timer(10,1);
timer.addEventListener(TimerEvent.TIMER, refresh);
if ( !sqls.executing )
sqls.text = "SELECT * FROM preferences LIMIT 1"
sqls.execute();
else
timer.start();
private function resault(e:SQLEvent):void
data = sqls.getResult().data;
dp = new ArrayCollection(data);
private function error(e:SQLErrorEvent):void
Alert.show(e.toString());
Thanks anil for the quick reply.
the reporting scenario is like this:
I need to find the top 3 products (based on sales) and find the contribution of each of the top 3 product amongst the total top 3 products.
P1 P1/R
P2 P2/R
P3 P3/R
R = P1P2P3
SUMCT will give the result of all the products. I want the sum of only top 3 products.
Thanks.
Similar Messages
-
How to make use of the presentation variable in SQL result query
I have 2 prompts in my dashboard.
Prompt1 decides the values of Prompt2.
I have set a presentation Variable (selected_comp) in prompt1 which holds the value selected.
To populate the values for Prompt2, I need to execute a query using the presenation variable set by Prompt1.
SELECT "List Of Values".RID from rocketv2_3 WHERE "List Of Values".NAME='COMPONENT' AND "List Of Values".VAL=@{selected_comp}
the query is resulting into
SQL Issued: SELECT "List Of Values".RID from rocketv2_3 WHERE "List Of Values".NAME='COMPONENT' AND "List Of Values".VAL=0
but the value in selected_comp is "ABC".
Can anybody help in how to make use of the presentation variable in query to get the correct value
thanks
ShubhaJust use constrain check box to filter your 2nd prompt values based on the 1st prompt.
Thanks,
Venkat
http://oraclebizint.wordpress.com -
Using Spry Data Set Variable in Recordset
I have a page that contains a spry data set and a recordset. The recordset uses one of the variables from the spry data set to filter its results. how do I apply the spry data set variable to the recordset?
I believe passing this the variable through the URL requires you to update the page, right?
Yes
Is there anyway to grab the spry data set variable direct and apply it to your recordset filter?
The SpryDataSet variable can only be used on the clientside (JavaScript) so you will have to get your recordset using JS.
A page refresh can be set in motion if you add {useCache: false, loadInterval: 500} to your dataset to then set an observer to your dataset to invoke the page refreash function.
Gramps -
Use substitution methods in variable
Hi All,
How do I use substitution methods in variable? For example, I am trying to get a session number in to a variable.
I defined a variable and wrote the followign querry
select <%=odiRef.getSession("SESS_NO")%> from dual.
When I click on tick mark to check the syntax, it is throwing an error message saying missing expression. Please help me out. THank you!Put quotes around the substitution method:
select '<%=odiRef.getSession("SESS_NO")%>' from dual
You will not be able to "test" this, you can execute it, and see what the result comes back. -
Empty variable/expression result. xpath variable/expression expression
Hi,
I am new to BPEL, I have created one Process and trying to Call Procedure with the help of Invoke Process Activity. Database Procedure having one input parameter and one output parameter. When i am trying to execute deployed webservice it gives me error like
<Faulthttp://schemas.xmlsoap.org/soap/envelope/>
<faultcode>env:Server</faultcode>
<faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 94218a8977e86d41:78a12598:12e474197b6:-7f6f. Please check the process instance for detail.</faultstring>
</Fault>
Server Trace for this: From Audit Instance
receiveInput
[2011/02/21 17:07:04] Received "inputVariable" call from partner "client"More...
- <inputVariable>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
- <ns1:DBAdaptorParam2ProcessRequest xmlns:ns1="http://xmlns.oracle.com/DBAdaptorParam2">
<ns1:input>wwww</ns1:input></ns1:DBAdaptorParam2ProcessRequest></part></inputVariable>
Assign_in
[2011/02/21 17:07:04] Updated variable "Invoke_DBService_DBAdaptor2_Service_InputVariable" More...
- <Invoke_DBService_DBAdaptor2_Service_InputVariable>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
- <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/">
<PARAM1>wwww</PARAM1></InputParameters></part>
</Invoke_DBService_DBAdaptor2_Service_InputVariable>
Invoke_DBService
[2011/02/21 17:07:04] Invoked 2-way operation "DBAdaptor2_Service" on partner "DBAdaptor2_Service".less
- <messages>
- <Invoke_DBService_DBAdaptor2_Service_InputVariable>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
- <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/"><PARAM1>wwww</PARAM1>
</InputParameters></part>
</Invoke_DBService_DBAdaptor2_Service_InputVariable>
- <Invoke_DBService_DBAdaptor2_Service_OutputVariable>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="OutputParameters">
- <db:OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/"><PARAM2>wwww Extra added</PARAM2></db:OutputParameters></part>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="response-headers">[]</part>
</Invoke_DBService_DBAdaptor2_Service_OutputVariable>
</messages>
Assign_out (faulted)
[2011/02/21 17:07:04] Error in evaluate <from> expression at line "87". The result is empty for the XPath expression : "/ns2:OutputParameters/ns2:PARAM2".less
oracle.xml.parser.v2.XMLElement@7cc53
[2011/02/21 17:07:04] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.less
- <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
- <part name="summary">
<summary>
empty variable/expression result.
xpath variable/expression expression "/ns2:OutputParameters/ns2:PARAM2" is empty at line 87, when attempting reading/copying it.
Please make sure the variable/expression result "/ns2:OutputParameters/ns2:PARAM2" is not empty.
</summary></part></selectionFailure>
I am not able to fix this issue please help me out.
Thanks in Advance
Thanks,AbhijitHi,
Thanks for reply.
For the development guideline i had followed "http://www.erpschools.com/apps/oracle-applications/articles/Fusion-Middleware/SOA/BPEL/BPEL-Database-Adapter-Part-2/index.aspx" this document. Instead of using "select" query, here I am using database procedure to get output.
For this I am giving input as "Abhijit" and database procedure "GETCONCATESTRING" is returning value as "Abhijit Extra added",
but finally i am getting this error:
Invoke_DBService
[2011/02/22 12:55:08]
Invoked 2-way operation "DBAdaptor2_Service" on partner "DBAdaptor2_Service".
- <messages>
- <Invoke_DBService_DBAdaptor2_Service_InputVariable>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
- <InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/GETCONCATESTRING/">
<PARAM1> Abhijit </PARAM1> </InputParameters> </part> </Invoke_DBService_DBAdaptor2_Service_InputVariable>
- <Invoke_DBService_DBAdaptor2_Service_OutputVariable>
- <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="OutputParameters">
- <db:OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/ *GETCONCATESTRING* /">
<PARAM2> Abhijit Extra added </PARAM2></db:OutputParameters></part>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="response-headers">[]</part>
</Invoke_DBService_DBAdaptor2_Service_OutputVariable></messages>
Please Guide me to use Receive Activity for output.
Edited by: 815926 on Feb 21, 2011 11:41 PM
Edited by: 815926 on Feb 21, 2011 11:42 PM -
So I just realized that if you want to use the result that is returned from an object or method in another object or method, you have to name the message before you send it.
The number of ways that objects and methods can send and receive information is multiplying. I thought these objects and the way they interact was set in stone, more or less, but there seems to be endless possibilities that could be based on the Objective-C system? Apparently we are limited by the conventions of custom and habit, where the demands of users and user's habits, senses and customs dictate how the technology is applied.You are not naming the message, you are assigning the return value to a variable. This is a general programming concept, it is not specific to Objective-C.
If you have not already done so, I encourage you to read the Objective-C Programming Guide.
[extracted from Objects, Classes, and Messaging chapter]
Like standard C functions, methods can return values. The following example sets the variable isFilled to YES ifmyRectangle is drawn as a solid rectangle, or NO if it’s drawn in outline form only.
BOOL isFilled;
isFilled = [myRectangle isFilled]; -
[iPhone] Grouped Table View using SQLITE?
I am filling my table views from a SQLITE table. I am trying to get it to display in grouped mode, but I am unsure on how to handle this using SQLITE. I can get the grouped mode to work, but I can't get it to show any headers, it is just one large block with all the returned results.
Anyone been able to get this to work or might have some advice?
Thanks.Beers is correct. This is easy to accomplish though, if you have your recordset fed into an array on SELECT.
I'll start you off because i'm such a stand-up guy
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tv {
return 123456789;
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
// switch( section ), or if statements to send different titles
return @"My Title Is The Greatest";
- (NSInteger)tableView:(UITableView *)tv numberOfRowsInSection:(NSInteger)section {
// Again, if more than one section do a switch( section ): or bunch of if statements
return [myDataArray count]; -
Dialog prompt and check if file exists, and use the result of dialog
I have this working script and I want to change the way it behaves.
I want a dialog to come up, Do you want to skip or replace existing files.
Then the result of the dialog to be used in the reast of the script.
I've added it in the script where I need to use it. in noce big letters, hopefully its not a big job.
Many thanks
property type_list : {"8BPS"}
property extension_list : {"psd"}
script o
property theseNames : {}
end script
-- empty log file
do shell script "echo 'Files not processed in Photoshop :' > ~/Desktop/LogPhotoshopError.txt"
set noError to true
--Setup list of folders and process details of folders
set dtF to paragraphs of (do shell script "ls -F ~/Desktop | grep '/' | cut -d'/' -f1")
set tc to (count dtF)
repeat with i from 1 to tc
set folderName to item i of dtF --<: is the folder name, no need to use text item delimiters -->":"
if folderName does not start with "2_" and folderName does not start with "Hot" and folderName does not start with "Press" and folderName does not start with "Design" and folderName does not start with "Keywords" and folderName does not start with "Season" and folderName does not start with "Sue" and folderName does not start with "Design" then
set {oldTID, my text item delimiters} to {my text item delimiters, "_WK"}
set FolderEndName to last text item of folderName
set brandName to first text item of folderName
set my text item delimiters to "_PSD"
set weekNumber to first text item of FolderEndName
set my text item delimiters to oldTID
set theFolder to ("Hal 9000:Users:matthew:Desktop:" & folderName)
--set up names to destination folders and create locally based on brand name and week number
set this_local_folder to "Images:2012-2013"
set localWeekFolder to my getFolderPath("WK" & weekNumber, this_local_folder)
set localBrandFolder to my getFolderPath(brandName, localWeekFolder)
set localBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", localBrandFolder)
set localBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", localBrandFolder)
set localBrandFolder_PSD to my getFolderPath(brandName & "_WK" & weekNumber & "_PSD", localBrandFolder)
set this_Network_folder to "GEN:Brands:Zoom:Brand - Zoom:Upload Photos:2013:"
set networkWeekFolder to my getFolderPath("Week" & weekNumber, this_Network_folder)
set networkBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", networkWeekFolder)
set website_images to "GEN:Website_Images:"
--set up names to destination folders and create over Netwrok for FTP collection (based on a mounted drive)
set this_ftp_folder to "pulse:"
set ftpWeekFolder to my getFolderPath("Week" & weekNumber, this_ftp_folder)
set ftpBrandFolder to my getFolderPath(brandName, ftpWeekFolder)
set ftpBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", ftpBrandFolder)
set ftpBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", ftpBrandFolder)
--at the beginning of the script, ask whether to replace or skip existing files? to apply to all?
--use the result for the if file exists?
display dialog "Should I replace or skip exisiting files?" buttons {"Replace", "Skip (Faster)"} default button 2 with icon 1
--taking the folder identify which process it must follow.
if brandName is equal to "BH" then
try
tell application "Finder" to set o's theseNames to (name of files of alias theFolder whose file type is in the type_list or name extension is in the extension_list)
on error
set o's theseNames to {} -- no psd files or "8BPS"
end try
set numOfNames to (count o's theseNames)
repeat with j from 1 to numOfNames
set thefile to theFolder & ":" & (item j of o's theseNames)
-- B H Folder Photoshop Process
--if thefile exists in the folder localBrandFolder_PSD then do the result of dialog.
--"Skip" the file and move on to next
--If "replace" continue the rest of the script.
tell application "Adobe Photoshop CS5.1"
-- I remove the command activate, Photoshop stay in background
set ruler units of settings to pixel units
try
open (alias thefile) showing dialogs never
set origName to name of current document
set myOptions to {class:JPEG save options, quality:12}
set myPSDOptions to {class:Photoshop save options, embed color profile:true, save layers:true}
tell current document
--If the quick mask mode has been left on then delete the channel Quick Mask
if (quick mask mode) then delete channel ¬
"Quick Mask"
--If the Layer is incorrectly labeled with Original Layer it needs renaming to original Image
if (exists layer "Original Layer") then ¬
tell layer "Original Layer" to set name to "Original Image"
save in (localBrandFolder_PSD & origName) as Photoshop format with options myPSDOptions without copying
(delete layer "Original Image") flatten
resize image resolution 300 resample method none
--sharpen image
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
save in (localBrandFolder_High_Res & name) as JPEG with options myOptions without copying
--get file path, return path of the JPEG file, work with (without copying)
-- (with copying) : it return path of PSD file
set newFile to file path --( return path of type alias )
-- duplicate file using the Finder -->on duplicateFile(..)
my duplicateFile(newFile, {ftpBrandFolder_High_Res})
--Prepare for Low RES by resetting image history
set current history state to history state 3
flatten
resize image width 1348
resize image resolution 300 resample method none
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
--add save to lowResFolder with same options
save in (localBrandFolder_Low_Res & name) as JPEG with options myOptions without copying
set newFile to file path
set newFile2 to newFile as string -- for testing end of name
if newFile2 ends with "_2.jpg" or newFile2 ends with "_3.jpg" then -- exclude website_images
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res})
else
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res, website_images})
end if
close saving no
end tell
on error
set noError to false
my myLogs(thefile) -- write path to log file in Desktop
try
close saving no --if exists, close current document
end try
end try
end tell
end repeat
--End BH
-- else if and the rest of the script.....
end repeat
if not noError then do shell script "/usr/bin/open ~/Desktop/LogPhotoshopError.txt'"
on myLogs(t)
try
do shell script "echo " & (quoted form of t) & ">> ~/Desktop/LogPhotoshopError.txt'"
end try
end myLogs
on duplicateFile(tFile, foldersPath) -- tFile is an alias, foldersPath is a list of folder
tell application "Finder" to repeat with folderPath in foldersPath
with timeout of 200 seconds -- adjust it, error if the copy is longer that 200 seconds
duplicate tFile to folder folderPath with replacing
end timeout
end repeat
end duplicateFile
on getFolderPath(tName, folderPath)
tell application "Finder" to tell folder folderPath
if not (exists folder tName) then
return (make new folder at it with properties {name:tName}) as string
else
return (folder tName) as string
end if
end tell
end getFolderPath
tell application "Finder"
open "Hal 9000:Users:matthew:Desktop:LogPhotoshopError.txt"
end tellHi,
I think that's what you want.
I put the dialog in the beginning, so it does not appear to each folder, otherwise put it in the loop as it was originally.
property type_list : {"8BPS"}
property extension_list : {"psd"}
script o
property theseNames : {}
end script
-- empty log file
do shell script "echo 'Files not processed in Photoshop :' > ~/Desktop/LogPhotoshopError.txt"
set noError to true
--at the beginning of the script, ask whether to replace or skip existing files? to apply to all?
--use the result for the if file exists?
display dialog "Should I replace or skip exisiting files?" buttons {"Replace", "Skip (Faster)"} default button 2 with icon 1
set skipFiles to (button returned of the result) is "Skip (Faster)"
--Setup list of folders and process details of folders
set dtF to paragraphs of (do shell script "ls -F ~/Desktop | grep '/' | cut -d'/' -f1")
set tc to (count dtF)
repeat with i from 1 to tc
set folderName to item i of dtF --<: is the folder name, no need to use text item delimiters -->":"
if folderName does not start with "2_" and folderName does not start with "Hot" and folderName does not start with "Press" and folderName does not start with "Design" and folderName does not start with "Keywords" and folderName does not start with "Season" and folderName does not start with "Sue" and folderName does not start with "Design" then
set {oldTID, my text item delimiters} to {my text item delimiters, "_WK"}
set FolderEndName to last text item of folderName
set brandName to first text item of folderName
set my text item delimiters to "_PSD"
set weekNumber to first text item of FolderEndName
set my text item delimiters to oldTID
set theFolder to ("Hal 9000:Users:matthew:Desktop:" & folderName)
--set up names to destination folders and create locally based on brand name and week number
set this_local_folder to "Images:2012-2013"
set localWeekFolder to my getFolderPath("WK" & weekNumber, this_local_folder)
set localBrandFolder to my getFolderPath(brandName, localWeekFolder)
set localBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", localBrandFolder)
set localBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", localBrandFolder)
set localBrandFolder_PSD to my getFolderPath(brandName & "_WK" & weekNumber & "_PSD", localBrandFolder)
set this_Network_folder to "GEN:Brands:Zoom:Brand - Zoom:Upload Photos:2013:"
set networkWeekFolder to my getFolderPath("Week" & weekNumber, this_Network_folder)
set networkBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", networkWeekFolder)
set website_images to "GEN:Website_Images:"
--set up names to destination folders and create over Netwrok for FTP collection (based on a mounted drive)
set this_ftp_folder to "pulse:"
set ftpWeekFolder to my getFolderPath("Week" & weekNumber, this_ftp_folder)
set ftpBrandFolder to my getFolderPath(brandName, ftpWeekFolder)
set ftpBrandFolder_Low_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_LR", ftpBrandFolder)
set ftpBrandFolder_High_Res to my getFolderPath(brandName & "_WK" & weekNumber & "_HR", ftpBrandFolder)
--taking the folder identify which process it must follow.
if brandName is equal to "BH" then
try
tell application "Finder" to set o's theseNames to (name of files of alias theFolder whose file type is in the type_list or name extension is in the extension_list)
on error
set o's theseNames to {} -- no psd files or "8BPS"
end try
set numOfNames to (count o's theseNames)
repeat with j from 1 to numOfNames
set thefile to theFolder & ":" & (item j of o's theseNames)
-- B H Folder Photoshop Process
tell application "Finder" to set b to exists file (localBrandFolder_PSD & item j of o's theseNames)
if b and not skipFiles then -- file exists and "replace" (continue the rest of the script).
tell application "Adobe Photoshop CS5.1"
-- I remove the command activate, Photoshop stay in background
set ruler units of settings to pixel units
try
open (alias thefile) showing dialogs never
set origName to name of current document
set myOptions to {class:JPEG save options, quality:12}
set myPSDOptions to {class:Photoshop save options, embed color profile:true, save layers:true}
tell current document
--If the quick mask mode has been left on then delete the channel Quick Mask
if (quick mask mode) then delete channel ¬
"Quick Mask"
--If the Layer is incorrectly labeled with Original Layer it needs renaming to original Image
if (exists layer "Original Layer") then ¬
tell layer "Original Layer" to set name to "Original Image"
save in (localBrandFolder_PSD & origName) as Photoshop format with options myPSDOptions without copying
(delete layer "Original Image") flatten
resize image resolution 300 resample method none
--sharpen image
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
save in (localBrandFolder_High_Res & name) as JPEG with options myOptions without copying
--get file path, return path of the JPEG file, work with (without copying)
-- (with copying) : it return path of PSD file
set newFile to file path --( return path of type alias )
-- duplicate file using the Finder -->on duplicateFile(..)
my duplicateFile(newFile, {ftpBrandFolder_High_Res})
--Prepare for Low RES by resetting image history
set current history state to history state 3
flatten
resize image width 1348
resize image resolution 300 resample method none
filter current layer using unsharp mask with options {amount:80, radius:3.2, threshold:0}
--add save to lowResFolder with same options
save in (localBrandFolder_Low_Res & name) as JPEG with options myOptions without copying
set newFile to file path
set newFile2 to newFile as string -- for testing end of name
if newFile2 ends with "_2.jpg" or newFile2 ends with "_3.jpg" then -- exclude website_images
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res})
else
my duplicateFile(newFile, {networkBrandFolder_Low_Res, ftpBrandFolder_Low_Res, website_images})
end if
close saving no
end tell
on error
set noError to false
my myLogs(thefile) -- write path to log file in Desktop
try
close saving no --if exists, close current document
end try
end try
end tell
end if -- else "Skip" the file and move on to next
end repeat
--End BH
end if
end if
end repeat
if not noError then do shell script "/usr/bin/open ~/Desktop/LogPhotoshopError.txt'"
on myLogs(t)
try
do shell script "echo " & (quoted form of t) & ">> ~/Desktop/LogPhotoshopError.txt'"
end try
end myLogs
on duplicateFile(tFile, foldersPath) -- tFile is an alias, foldersPath is a list of folder
tell application "Finder" to repeat with folderPath in foldersPath
with timeout of 200 seconds -- adjust it, error if the copy is longer that 200 seconds
duplicate tFile to folder folderPath with replacing
end timeout
end repeat
end duplicateFile
on getFolderPath(tName, folderPath)
tell application "Finder" to tell folder folderPath
if not (exists folder tName) then
return (make new folder at it with properties {name:tName}) as string
else
return (folder tName) as string
end if
end tell
end getFolderPath
tell application "Finder"
open "Hal 9000:Users:matthew:Desktop:LogPhotoshopError.txt"
end tell -
How can i plot a histogram with using the results of Line Length
PLS HELP.How can i prepare a histogram with using the results of line length code(It is somewhere in the middle).
This is a final exam take-home question. I would appreciate if you can help?
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.text.*;
import java.io.File;
public class WordAnalyser extends JFrame implements ActionListener
private JMenuItem jmiAc, jmiSil, jmiCikis, jmiAnaliz, jmiHakkinda, jmiKullanim;
private JTextArea jta1, jta2;
private JFileChooser jFileChooser = new JFileChooser();
File hafizada;
File aktarilan = new File("Sonuc.txt");
// Main method
public static void main(String[] args)
WordAnalyser frame = new WordAnalyser(); /* Ana ekran olusturulur */
frame.setSize(400, 300); /* Degerleri belirlenir */
frame.setVisible(true); /* Gorunebilirligi ayarlanir */
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public WordAnalyser()
setTitle("Serkan Ozgen Dosya Inceleme Programina Hos Geldiniz");
JMenuBar mb = new JMenuBar();
setJMenuBar(mb);
JMenu fileMenu = new JMenu("Dosya");
fileMenu.setMnemonic('F');
mb.add(fileMenu);
JMenu helpMenu = new JMenu("Degerlendirme");
helpMenu.setMnemonic('H');
mb.add(helpMenu);
JMenu kullanimMenu = new JMenu("Kullanim Kilavuzu");
mb.add(kullanimMenu);
fileMenu.add(jmiAc = new JMenuItem("Ac", 'A'));
fileMenu.add(jmiSil = new JMenuItem("Sil", 'S'));
fileMenu.add(jmiCikis = new JMenuItem("Cikis", 'C'));
helpMenu.add(jmiAnaliz = new JMenuItem("Analiz", 'D'));
helpMenu.add(jmiHakkinda = new JMenuItem("Hakkinda", 'H'));
kullanimMenu.add(jmiKullanim = new JMenuItem("Kullanim"));
getContentPane().add(new JScrollPane(jta1 = new JTextArea()), BorderLayout.CENTER);
getContentPane().add(jta2 = new JTextArea(), BorderLayout.SOUTH);
jmiAc.addActionListener(this);
jmiSil.addActionListener(this);
jmiCikis.addActionListener(this);
jmiAnaliz.addActionListener(this);
jmiHakkinda.addActionListener(this);
jmiKullanim.addActionListener(this);
public void actionPerformed(ActionEvent e)
String actionCommand = e.getActionCommand();
if (e.getSource() instanceof JMenuItem)
if ("Ac".equals(actionCommand))
Ac();
else if ("Sil".equals(actionCommand))
Sil();
else if ("Cikis".equals(actionCommand))
System.exit(0);
else if ("Analiz".equals(actionCommand))
sayim();
else if ("Hakkinda".equals(actionCommand))
JOptionPane.showMessageDialog(this,
"!!!! Bu program text analizi gerceklestirir. Her hakki saklidir SERKAN OZGEN!!!!",
"Bu program hakkinda",
JOptionPane.INFORMATION_MESSAGE);
else if ("Kullanim".equals(actionCommand))
JOptionPane.showMessageDialog(this,
" Ilk once dosya menusunden Ac i tiklayarak analiz etmek istediginiz Dosyayi seciniz (Lutfen uzantisi *.txt \nveya *.log olsun). Daha sonra Degerlendirme menusunden analizi tiklarsaniz dosyanizda kac adet rakam, harf, \ncumle ve kelime oldugunu gorebilirsiniz. Simdiden kolay gelsin",
"Programin kullanim detaylari",
JOptionPane.INFORMATION_MESSAGE);
private void Ac()
if (jFileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
hafizada = jFileChooser.getSelectedFile();
Ac(hafizada);
// Acilan Dosyayi ana ekranda gostermeye yariyan bir method
private void Ac(File file)
try
// Acilan dosyayi okuma ve ana ekranda gosterme
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
byte[] b = new byte[in.available()];
in.read(b, 0, b.length);
jta1.append(new String(b, 0, b.length));
in.close();
catch (IOException ex)
// Temizle tusunun hangi ekranlara etki edecegini secme
private void Sil()
jta1.setText("");
jta2.setText("");
private void sayim()
int buff;
int sayac = 0;
int Cumleler = 0;
int Kelimeler = 0;
int Karakterler = 0;
int Satirlar = 0;
int Rakamlar = 0;
boolean start = true;
int linenum = 0;
try
FileInputStream instream = new FileInputStream(hafizada);
FileOutputStream outstream = new FileOutputStream(aktarilan);
BufferedReader infile = new BufferedReader(new InputStreamReader(new FileInputStream(hafizada)));
PrintStream out = new PrintStream(outstream);
out.println("---Kelime Avcisinin Sonuclari---");
String line = infile.readLine();
while (line != null){
int len = line.length();
linenum++;
line = infile.readLine();
out.println("Line Length :" + linenum + "\t" +len);
while ((buff=instream.read()) != -1)
switch((char)buff)
case '?': case '.': case '!': /* Eger "?", "." veya "!" gorurse program cumleleri ve kelimeleri arttirir*/
if (start == false)
Cumleler++;
Kelimeler++;
start = true;
break;
case ' ': case '\t': case ',': case ';': case ':': case'\"': case'\'': /* Eger /t,;:\ ve \" bu isarteleri goruruse program kelimeleri arttirir */
if (start == false)
Kelimeler++;
start = true;
break;
case 'n': case '\n': /* Eger \n gorurse satirlari arttirir */
if (start == false)
Satirlar++;
Kelimeler++;
start = true;
break;
default:
if (((char)buff >= 'a' && (char)buff<='z')|| /*a-z, A-Z veya - degerlerini gorurse karakterler arttirilir */
((char)buff >= 'A' && (char)buff<='Z')||
((char)buff == '-'))
Karakterler++;
if ((Kelimeler % 50) == 49)
if (start == true)
out.println();
out.print((Kelimeler+1) + " ");
out.print((char)buff);
start = false;
if ((char)buff >='0' && (char)buff <='9') { /* 0-9 gorurse rakamlari arttiri */
Rakamlar++; }
}// switch
}//while
instream.close();
out.println();
out.println();
out.println("Karakter sayisi: " + Karakterler);
out.println("Kelime sayisi: " + Kelimeler);
out.println("Cumle sayisi: " + Cumleler);
out.println("Satir sayisi: "+ Satirlar);
out.println("Rakam sayisi: "+ Rakamlar);
outstream.close();
try
BufferedInputStream in = new BufferedInputStream(new FileInputStream(aktarilan));
byte[] b = new byte[in.available()];
in.read(b, 0, b.length);
jta2.append(new String(b, 0, b.length));
in.close();
catch (IOException ex)
catch (Exception e)
System.out.println(e);
}Why is it that you're not interested in IOExceptions?
catch (IOException ex)
} Empty catch blocks is a hallmark of foolish Java code. At least print out the stack trace.
% -
I am having EXTREME difficulty trying to establish communications with a Modbus device using LV8.2 shared variables. The device is a Eurotherm 6180XIO Datalogger configured as a Modbus master. The PC and a cFP-1804 are slaves. All IP addresses are set correctly. This approach using shared variables would seem simple, but I can't find any examples or proper guidance on how to get it working. I am trying to avoid having to mess around with TCP/IP, OPC, or any other old-fashioned method.
I have read many threads on related topics but none directly apply to this situation. I have created a library containing a Modbus I/O server and shared variables bound to read and write holding registers. I have followed all recommended tips for creating such variables but I can neither read or write data. All data types are U16 due to Modbus protocol limitations. I have also applied the LV x10 factor in the most significant digit in the register offset (6 digits instead of 5).
I have a cFP-1804 on the same network which reads into the datalogger OK. The registers I use are 31000 (for CH0 on module 0, 31002 for CH1, etc) and the data can be read as FLOAT32. I have updated the firmwate on the 1804 to the latest level. I cannot even get shared variables to read SGL values. Using registers 301001 for CH0 and 301002 for CH1 I can only read U16 values, and not a 2-word SGL.
Third party Modbus simulation software is able to write to and read from registers very easily, but not LabVIEW.
Some questions are:
- do I use a Modbus master or slave as an I/O server in the library as a target for binding the shared variables?
- is there some other wierd translation in register offsets between LabVIEW and traditional Modbus?
- is this actually possible using shared variables or am I wasting my time?Sending the whole 60-character string using a string or array would be the most efficient. I have tried both methods, and these only cause the datalogger to flag a message log but no text is displayed.
For a string variable, I have used the following binding "My Computer\Modbus Test.lvlib\ModbusServer6180\442305", where ModbusServer6180 is a Modbus I/O server configured with the logger IP address, and 42304 is the register offset at the start of the text block in the logger. I need to write to 30 consecutive registers starting with this one. I am not using buffering and have not enabled single writer.
Can anyone confirm whether this method should work in 8.2?
Does the string need a special termination character? -
Using previous results in a query
Hi
Please can someone assist.
I have a bex query - 1 structure only in my columns
I have my data in rows broken down by calendar year.
What I need to be able to do is to use the result in calendar year 2008 and sum it in calendar year 2009.
Calendar month
Calendar Year
Remaiining
Date of Hire
Quota number
Carry Over
Deduction
MAY
2009
21.960
2000/05/15
21.960
0.000
21.960
2010
30.000
2000/05/15
30.000
0.000
30.000
2011
42.260
2000/05/15
42.260
0.000
42.260
2012
39.240
2000/05/15
33.240
6.000
27.240
2013
50.000
2000/05/15
25.000
25.000
0.000
JUL
2008
39.780
2000/05/15
39.780
0.000
39.780
DEC
2007
43.700
2000/05/15
43.700
0.000
43.700
Result
266.940
2000/05/15
235.940
31.000
204.940
My last column needs to be Entitlement which should be the carry over of 2012 + carry over of 2013 = 31 - which should be my entitlement for 2013.
Not sure if that makes any sense.
Please see images attached.
Is there a way to do this with no ABAP, as I am not able to write the customer exit.
Thank youYou may try with Cell definitions concept by introducing a "Calyear structure" in rows and define 2013 cell accordingly. Rest all cells other than in Entitle ment KF take the definitions of their respective CKFs/RKFs. Leave all cells blank other than 2013 in Entitlement KF.
Remove Calyear infoobject which is there currently in rows pane and then create a structure in place of it. Every year, you will need to enhance the Calyear structure and make the cell definitions accordingly as per your business requirement.
Please have a look at my blog to get a brief idea on what I am saying.
How to achieve Slab Wise or Bucket Wise and Age Wise requirements in BEx
Message was edited by: SumaN ChakravarthY K
Message was edited by: SumaN ChakravarthY K -
Using LIKE with a variable in a report query
Probably an stupid question, but I can't find the answer on this forum or by trying. How do use LIKE and a variable together in a query?
The following solutions don't work f.e.:
LIKE :P310_ENTITEITID%
LIKE ':P310_ENTITEITID%'Hi Elmo
Try '%'||:P310_ENTITEITID||'%'
Elsie -
Using the result of a jms webservice
When I have deployed my simple HelloWorld webservice, I obviously want to write
a client. I chose to write a dynamic client, which works fine(almost!). Only one
problem, in the programming guide that comes with weblogic they only mention how
to call system.out.println on the result(see quote below). But that's not what
I want to do, I want to use the result, but how? From what I can see the resulting
object is just a java.lang.Object. How should I cast it, and to what? The soap
xml says:
<part name="result" type="xsd:anyType" />
The question is, what is it that I'm receiving and how can I find that out dynamically.
This is the code I'm using:
SoapMethod method = proxy.getMethod("receive");
SoapType type = method.getReturnType();
System.out.println("type is:" + type.getTypeAsString());
System.out.println("value is:" + type.toString());
System.out.println("class is:" + type.getType().getName());
The output of the system.out's above is:
type is:Object
value is:Object result
class is:java.lang.Object
quote:
Invoke the receive method to receive data from the Web service. In the example,
the client application uses an infinite while loop to continuously invoke the
receive method, in essence polling the JMS destination for messages. When the
receive method returns data, the client application prints the result to the standard
output:
while( true ){
Object result = method.invoke( null );
System.out.println( result );Thanks manoj, for taking the time to help me with my problem.
I noticed in your examples you posted in your reply that none of the examples
are using queues. Can you confirm that there is a bug when using queues? It gives
NullPointerException in the Servlet and FileNotFoundException on the client when
trying to access the result queue to read the response of my asynchronous webservice.
See the earlier posting, regarding Webservice works with Topics but not with Queues?
Cheers,
Mr Bean
"manoj cheenath" <[email protected]> wrote:
if you are using soap encoding:
you will get back the object you posted to JMS queue. This
can be a primitive type (like java.lang.String) or a java bean (like
com.foo.MyJavaBean)
if you are using literal encoding:
you will get back a org.w3c.dom.Element back.
few message style examples are attached.
regards,
-manoj
"MrBean" <[email protected]> wrote in message
news:[email protected]...
When I have deployed my simple HelloWorld webservice, I obviously wantto
write
a client. I chose to write a dynamic client, which works fine(almost!).Only one
problem, in the programming guide that comes with weblogic they onlymention how
to call system.out.println on the result(see quote below). But that'snot
what
I want to do, I want to use the result, but how? From what I can seethe
resulting
object is just a java.lang.Object. How should I cast it, and to what?The
soap
xml says:
<part name="result" type="xsd:anyType" />
The question is, what is it that I'm receiving and how can I find thatout
dynamically.
This is the code I'm using:
SoapMethod method = proxy.getMethod("receive");
SoapType type = method.getReturnType();
System.out.println("type is:" + type.getTypeAsString());
System.out.println("value is:" + type.toString());
System.out.println("class is:" + type.getType().getName());
The output of the system.out's above is:
type is:Object
value is:Object result
class is:java.lang.Object
quote:
Invoke the receive method to receive data from the Web service. Inthe
example,
the client application uses an infinite while loop to continuouslyinvoke
the
receive method, in essence polling the JMS destination for messages.When
the
receive method returns data, the client application prints the resultto
the standard
output:
while( true ){
Object result = method.invoke( null );
System.out.println( result );
begin 666 allmessage.jar
M4$L#!!0`" `(`!Q<7RL````````````````)``0`345402U)3D8O_LH```,`
M4$L'" `````"`````````%!+`P04``@`" `<7%\K````````````````% ``
M`$U%5$$M24Y&+TU!3DE&15-4+DU&\TW,RTQ++2[1#4LM*L[,S[-2,-0SX.5R
M+DI-+$E-T76J! D8ZQG&&Q@J: 27YBGX9B87Y1=7%I>DYA8K>.8EZVGR<O%R
M`0!02P<(SE1K#D<```!'````4$L#! H``````()T72L````````````````$
M````86YT+U!+`P0*``````!12$0K````````````````"@```&%N="]B=6EL
M9"]02P,$"@``````44A$*P```````````````!,```!A;G0O8G5I;&0O97AA
M;7!L97,O4$L#! H``````%%(1"L````````````````8````86YT+V)U:6QD
M+V5X86UP;&5S+W-O87 O4$L#!!0`" `(`#>&62L````````````````D````
M86YT+V)U:6QD+V5X86UP;&5S+W-O87 O0VQI96YT+F-L87-SA55;4]M&%/X6
M7R2$FA %4QP"I9<$.S82I)=0DZ9M*"2TAM Z#:7I318+%I$EC[0&\]#^I_;!
MM&62R?2Q/ZK3L[X4%)S&,SZ[>_9\9\_EV]7?__SY# G,85]#!@4%10U#**B8
M4V%JL#"O8D'%30WOXCT%[VO04)"+#U3<4K"HX0(^5%$:P1)N*_A(Q1T-!CY6
M\(F*3S7<Q;*"SX:Q@E4%]S1<D;[ORW%-BL\U?(&R@G6&]&W7=\4=AD0N_X@A
MN1SL<(:+9=?G&\UZE8</[:I'FF3==GV&\=SC\KY]8%N>[>]9%1&Z_MZ2!&HK
M+8<WA!OXD8(-6E>"9NCP55>"1Y8]E_O"E$@=;^(MAK&.EZ9P/6LS#!H\%"Z/
M&":EVO3M.ODU=VU'!.&1*2-T;8^A>,BK7K#G.F84V VS)D3#K-!LK6NP'/B"
MM\1J%Z;@@8Y-?,F0B<,.>%@-(IF3")M<P5<Z*GC(<*UO9DDSRZ%*.)9TO^+3
MG *2M7%T? W*=SKND_=,^C'W,FE9W52L>(2R!EL,BS*!DF5Y@6-[M2 2I5OS
M\PL6;]GUAL>M+5ZM\/# =<Y.S<-HQU/PC8YM?,LP%8_YU(Z*VJ(H-.[4@FZ;
M=#S&=PRCI^U[4-WGCJ#VU(+#&3OD,T=!4\'W.G[ CS'#K@,%/^FP4246O+AU
MM[F[RT,&)>11TQ,E'0YV='#L*J"#:W"IX[V\HFZH74HP7#[U]1^%^MH./>[;
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
MXO4?8PO_D>IW74TC#S%C%S-G=RL2,P</%U);>VL7Q6EW.89,1K@?R+ `)
M#,TJD$V[8?)@%+05> C"5J3AJK[*G"4R7/2!M%/JYUM22_[QO+WG:D'EZ.R<
M[R&RE*L3#<'7*C8\$/(+CAO2@^Q(P@8);N=+-YW0`#JR7KA%>^I6E'TQ+L$J
M-#F[35EW-W+2`[-'"2%Y$$T3*;G]K-!=I?_66VB+.UCU9QZ1.S!5/\7E#M3!
MC0I:/&2TS#E,DUSZW18"]AKRB0$48D5N>>'4A8R$6>O=.%B?/CWX.!NH$P\A
M_&*UK>Y0T%$%*W[#M-Z-5B# -MC\^I'I?M'$<-P*=^*^:&R',//,2ZDITL_C
M(YSB$\?CXQ3DEL4%CI66PWGX]ADMA*A$59B]R<0U-//G;Q^Z9TH,5<L05$&Y
MOLQ F8I4&AG_WQ+%0+:DEL>5U&:%*R :BSRI;RM[-O>8=D8L+@^AMLT":%1^
ML4X;Y>W(OHPRBZ7 !IN",2F9RP2#5T];N)O"\;\1`W+ETK>'[@5M9)S3#)]"
M\"'7@RGH4>.YTMX\24,7L,!K,#J%3"7<:[$7%4B4:^S?=)LZ(VW35^6XTB5R
M/F4Q.LL>53<1O=;V403^F.049?*Z&^'>;1V^:9Q^=23VO%(B9TY\IQ=4+-S7
MS??5&QN8(C)'WQD&/K%@#1)P`KVSGIG2U*LUQ.7K035R$>P&T?]8RB9L$3K@
M4!HR'\Z_23^)"2/M=,O<Z&,A:B7]`-;WT[G?=8Q%'ZBPC<'S;&\CIQ9O6\TY
M"/0L3R.'+/A5:P%!92U'D3OB\#1M6BT%3"W\L>QM)"V?!F^5+;[S@ COL6R3
M18%B&>Y9*^T78WL6O5T[66_7S 5<O*S/O^(\I<!CH#O+;+%C$_-V:8B;U/+^
M`Z6&")!R`DP!VG9RJZ93`O^--+4P'$02"!!0"^S_%>_S/25O:F9I[TEJYV
MMDT3E!/3#4U2_Q0JFILF&%MA_^_]:YF'=+:3#DSBRG1GCX3!%JNP:KTX'J'B
M\M8:`;]PWQ^@YV?_B'1G_R#T,F7S]OZ8X,JL\"+SUHH4NW"'8A>MX!^7]8N(
M_3"\!/ZORV@"@1.3_W@(_1\7[[^=H2$F_+\KP\/,V-;!PLJ$WM/.UB]^(&J0
M$4WL-?0]W&(UF3<S-)H(K?):& G=%2G=ZF,)+3N,5//+AV6<4'ZD>I /\\;+
M6+7:?/.[,R2OTL5C*6H$,7EE\,.B,V.6T"QBD3E\>AG2^IMB*O8@8J3U+YY:
M@H[/BC3$-G;&'9-QARP17ZAA'_)G[RFZ5,"SKAL=NX&H9OC&X:(F"5Z\5199
MY)L#,@O0_IE@7 RQ>K*&_.9<!VU01'G%&I)$-D\`:T8BG9F2E\A-$3JT+TC
M]>B2MZ8?X%7-EX?FKN7N%I63]YZDXW]/Q&>GOW#N/_\-!_Z?)@+S'_V_PSH\
M;OPO+AC'%3KZBBDI-:C_BQI=ZSPDS&;*R5^T(].-=5)J4[22TO7*RS)UTA.,
M(\!%>!FYT/*%Q4D)0/TL$$ZM301J\XQB8_T,]!E$;BX<"V `A :L`\N*?P2A
M3_^_&[-\J.'.X3\F8OY'<(C_)[C_,FM15;+99$3RY[@2L/3*<TL8,P*S2YX7
M;$-/4GI11?M,HAQO3#@B_7Y-)N-I[3)UQ?.)>MH^O>7?UJ/_Y/ST;_MXYZ20
MT"W3M7EX.WPQ<I(@I^IO5#^J&I<S,Z@>6O GADU5^;MN+9[G*&??G$9\*J\:
M)7N.9OAC)TS.<_ID\9=/P-':1NRQ,N0;#1E&0]-RD=>'_[D_A$P+MH%4"FJ"
M-BM8=.RKHZ\D*GW<=Z:D+QJ7!0M\=$O7V293(W59_6A)77>1/"RL%:W3=:M0
MU,8AL2H[R":\=#4&1$F5<E]Y&IZ!9*_0,3K2J4\>WIX9R]!D(W#2^\HW8@R7
M4=Z9?7!'/X&A.^W&H I%]*:#^FC$NGML=='YQ7%^9>?"E824^6S"L3D4P)\T
MP.7+YJ#]D8EL_1DG5!'[M.S>>QHEI!(!%S;':)9_7*=BX#!!&;":>&*XR6U[
M4/8[L+3L'\,+K[U 8+68RY%IO4<B_3LV-C>L"K,Y/8%D(8SN6<2CX;VM1 AE
MD&#IR%K*O#/8VA17ANO6%*+\6G2_'!%./\4C#E$WKB2D[A3]W8!CH<S(X8JL
M.R(W!X-AZ4(BC-^Z`2VSXC^+]!M-H8<=#KZ?YLB<L[A/<=U5='1+P@<3T[&O
M)-.W=F 2;DEZ4VENE^M9\?T136;M=NM'&HP4KQIL=ER;@/D/L3^,PUY;NUI:
M(Y3TDIWO,^$+Y+]9<C'@]T/\3U690?S_1=[$ULK,WI7>[email protected]&33H<U
M56^WV6JW^1;ZGX>$V79SJOX:;M/==/?33XVO4MQC>_5[A\LDO^%WVV2F9477
M)J^&$A0F# ;L?97F3ZD8Z),!_E)?6DY&)5)N2C=G<$Y"=TI[1A1U3XYG;6G,
M(SF%;9W/>7Z0XS8[#0O'ZVC>,R?_&'/7Z/#(H7KB_4<AFC/[0G%D/"S6N4\B
[email protected]>G@9@]1,K)R< %$``'4Y@L@'Z3S)S]^=Y/@AL=F[>NG;B\SBM4+
M[0!^^'"2\+7TW3:;Q6Z/7V6/MN0DCNY,F60*`:9@+UI ]\9&,=8*?A_CH95/
M,MX[L-2J1A0U)G=\HHC4:(&T6KE%IJY>6_DIO<FH*NFB?'IYEA#XP$XE=@93
M;2Q,+9!MXB(?'Y+6V6T6DD#Y>\13N$G.[4/4FRVU?8X"F#%^[1.3V&!-_!E]
M^IG0X$71="BQ(67@C?[T"K:EQ<#E%NCI94OJ[JE2I+ I7,V:&\YYK^D'RL@)
M8KVTAM 7`91@9"IR\ 3F`B/B#,.=VI]%)+ADH#>S"5 1Y),@X3C/I[XI:,\'
M9ZR]*V1%9*\QE&5"-PF,&&)3?F_B$:(LK\L?O618NI@%HS3-.HL'F']=V$.U
MI211^.2!!+5+KVEBC%T!/N5CST0.KD]WRQ)YL7C[&#K&8G4\DSP;(;CLP7S3
M&?>1PKM5E!?"N-!G%A]%HEJ;/0X8]8U\BCC7-)_@SFU=Z]*3;?4:9WKQPM,3
MWGATP,1TX_SWP.6L/+[MGX"VE VK*EY._K "G^W;@:?%ZIE6;:=CH L[)ID:
M_YYK<O*3:2;^S]2O@H)HO1@7!#+K5PN$R2<4K/L80MR8*_*DD0`QQ)[_P5N^
M5V]2>,7O3+-U\ ^N#VMY8(Y+=+IGG-Z,C>CVP-J+21_3_<[:BFG!`6-LJ!27
M2454(_W39,M.)=2QK5S\%E=H9*L(:F)E"OY\B!5TYN V,BP-?%VK2K41>> 9
M8"X;S]GQ</M[&22Z5'D7_41E7<&1+))XMG]E^%\YD+MU;E;'D]]@$V]QQ0)S
MNYD_*]L,3>,_O3GL!B Z1?4Q:27>/@%LVMN'/%[@F#;8H"_2LJYP(H2+M/#%
MZ*QB=@4T2MOZ.@7#7+/<J;#LP6HTAX/UAQC(4%E649DZHV:"*MBU?KQB';6T
M*IQC/&5S>SJAE&[6MA4QPK$,?<U!\^(0(VI_6_Y-S4)J@X:1JN81OCY;[#B&
MWR=JC-X#,*N1?UR)IBQTQ* K.MJ!'U20#^G5F6A>N7S^^@8<F]S5?PJH28P\
M`V,Q&QXB*6,O00'M8>EK76*C/DMGP.%L5;8K7G_:PSF9(2]AO QO+L_"]F&I
MZ11LH")XFH Q#JZ>Q0TQU%&'L=,)-\G"1"+^+ /(G[FZW'^DJ:O,I85?`<.,
MCKY6> HD6EP'N;7*R[VJ`$C-:NIZ1WP*E^1**YF=+8&[ZC3 ]]RT0I@0MKYU
MF*QR"-JUV4OS4,QL;[$G&<[F\KN1VEZ\_L-0S:'#9\S24-+(*3!?:Q9_`ZGB
M&!9=])R(2"V938"B&#:4)*T5O!TM(V&!H2PAX<@O4TO"5\L6\"C[RTD:.=S,
MBS@"'/E+*1 J!!$%!8F"F@(D4$]D;&)34]T#8+N(D#H?.C3[6GU<]Y[VG*2=
MQGZ/&VR^NQF0H%P$F.^'\YG/R IF![]+_F?#66-86.FT5]?LN8\[-G@BW'D6
MYXGQ>HF+X=$GX.!!N?4&:@OO/GIH!-PJ3"QL?$,55YE[/)P,2DS5S@X^%H9U
MX]D=97&E=+>499G%P2\E_N,R3_J3D_"0C]'V<;#[>)G(KEBIPQ+7)MM&( R+
M"%%8/+5&M\9AB.H.B7IP0T6B?"^A:[>)SQJEAPZ)6.W(4LG=O]DZO<=4FB]*
MA0Y\.2%F$&;2,(KV$"XN`-4?ZR^.A6%[.$(K_2)>L.RS?_;U<HDYG=[ZF;SF
M6^1P$UXV[.OO=SR9$XTOQ4@2Y?T59V"6]C!(W2<PVP@T;=SEO-F>INB>P&"X
M@>A0MZMN/ENNOF>]!XBD`RZD@Y1 GYYXFO&1:#.=2)Q_@#E]B%-_#7LU<4/:
M*IFAH;=(Y?BB4X,,*7TG*Y1D`$(+LY5CL<6=9="-%BV S4K:-C@#=5_0SE<T
MS#O8ES@SPW?_<A8)T=TW?8?[NJ#:,'^%W7+ZP$&!/JL<D4N,CRC9[@DR`[BU
M6VM-D$>[:F8C&70^D-E.TZV+3DF;;'[4=?N$G@H0!CP>N%*5VJ%A04%!/N5[
M#MP9>.T;V0P9VIK"O7U>PCDR.CM#<#*-=VVL1:P#V0*[T_].(/-E"HG(]F8K
M=VVH-EG(@"C59XIK^&"2R$X5%BRER]4-[],MVO836$,<+ H'=;R5\W(!),.]
M+;ZP;S-+DWNNT]=1X>;))(11:P8X&=F,2@8V$LH)UWP4D!J,7BS85,58I.%;
M@YWJU-/7?6[EJ^\V\&Q&+Y)H<Q:KIE,;>O;8./,9UY.!Q:=<6H+GY+ZY+'AW
M2S#3I\5G"4E!Y(H-B/F4);PWKJ:?ACZK^D]R/MK5\[:;#+!%U^?J4=.3)8E!
M$7K[&O+L[@,NFZ5CU"<+FPS#!EX["I&XBN^)XWF8K<$QJXV\ONU[YZU%43KP
M?3?\Y39XOJRD>+UOH_ER7+K<=#'L:A/R-DWQ_(YM!\&\X#"K.[8FJ++49?:I
M+DKF@4!BBJ/"P1YE.L(:%< ,Q*)$FKO;F6!>\Y0C9<424^0/2'62-=T)ICEC
M4VL+Y:+9]/[HON$5NP+*@J1.2?X^;Y*V'(1U$?V-PWZG"!>XVR6D?W; UOX"
M+\(;_Y5WI.$$RHG1I;V^_H'7C89(:;M SMJ-M4WBD('4+#UZQ]5T%#Q!HTK+
M4"1?$\TB-&)M(C1^?'HBXE(?58UA`4],R$"Z;FR\3FUP4XMU9^_1`<6!B72"
ME7V4O@[3/9T>XPM9CFOR(LF1G+HB[@M2N46^GMF,.;4=DW^]5'CL-D1;76UE
M!*U:C6,$C5XMJL>309PNY%]1*"0"5B?8)G)IS4G5X>(,?M\LJ,>AF3K68>(,
M-@M_8H1?QFWA@6=U42,8V">W]GON2J'$7U88V.=6(\C<1VQ1H&.ZWG=<5I@V
M@EF>W2VLN-XL-,U8.K!UGXD$++29QY^'Z<ZB]G&4.$SH+<!77"5@6G:7,);C
M%:'Z1MH1MZ0+SQ,34S>*9-*'3D"$CHA%HU?^'HC])1>P2D;H[Q5P90;V4JX8
ML*)+^<.1*(81_(JVGDU25(9'OJV)MKBS+#E9O?QW&2$UC.H1^@-N7:<N(=*3
M6>R57< B-$3,E/65C>=F1-%#]5S%Z6F?C4'^( W$H:QO:@2R;NI8Y5LKH#WB
M\\^T5'_=P]^8MCW#Y*8G()MX`=J?K6 BAV/Y`0G_IZ,XL/B]=!8.`?27,STG
MW%$\[+R!N?!)"JR!`ST@DH[@.\L[&]'ALK7RI0_(+3;IM]N@X'CAL3>9[OV8
M$/J&="E[_R1M_H\-W93\GP84RT[Z[XPI0FE2&JRRLJ\P(^HYI352^"1U/B'U
M%^:5)SWPL7S7O3W9&6PMEB_J^!T5*LG$)83"SX'#Y\OV1*VYC6W-H:1NETRF
M$952D7IB\,JI<<SUG9/7?-\YIQUNJ,S-1WP(0'=[QANR0*4:IF; 7T\':XMP
M.2OE;.:]K:$0ZF@6AN)&(47M\:F'+&Z&98W'#[P77JO=/5=$#)9SV FXIKD8
MS7BQ?HL2\-#!/ZY,V-8BB6NZO_H$(:;AL/D8)>)Q"DO)[C;&@RG)Q?ZWYCYG
M1'%VJ!SLGVOHMI-;(.WC$18I7*[A%"PF0T,=F<5,B!GCJS'83)<Y[7%#CO0%
M^C$\&'(5AQ-1Z!"C<9@L=(8<@N9ASD;("_D5Y<.^LSY*C<@!.N!&R0544U &
MF<PG?Z-@(9-8+Y>=/Z7-*6[49=- BI=NHU%QXKB5V[HB#^G#?5N__ 7WLT?H
M`[(")_.TJ?#>:AR^7/3[B>D!FND_7/%"U>FA4HU+HO%RT,@)@O1+9T^TXG^Z
M*; :..V-LL,TM#6L3K-A#J*GLOQ*_C$>;J4?9QNOG!\K\3,43?-KD=*PI7,O
M(/Y E71>J6L`F.H?' <^79K9_+1Y#^':1!B57[E7OQ@W/BFAHM/*QJA>?Q;+
M[7K>F1U$C5%:FC_BXZ3-U=YPE32W->$,HXF*]GD>(&"9X3O['=^%9:GJ8[PK
M]FN;FIXR%<;7K^"8;8,&,S^-2XK]_QQ#><3FS>."$IXJY,*\@XKV^$&F-VS8
MB#XU4><=!'/15P5&@.L0@=+FB2HG?')U^%4:`_I0MXNAN[R_M.^:U\4P:F@E
M3S0@\F*A*0[$NS[CJ96WWGA04\C;X-: [!JBX%A5,E3B+F3IB]-S-V^)B9
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
M2& .&9?CKI+E`, #@]#SPF58$.=W$*HZ[<Q8B#LU+LEU!9/[email protected]
M'@/=X]7Q#3L$+!H*G"&]^W^58'_74C$&@A@YH(C#J.P6S]=NAN)\].1AY900
MLPI]Y\SX3SM>#)#I]; >X?^BM3<;LISQ=)7YUQ5W$TKD> ;_TQ!8$9[3E9=:
MC1:N>-8DW1*:$E+WNEWLM3#NT/@:; !@-%C?5;=I36;N&-_T"HW=(%?>,+^O
MUH^L<J9I5!QAQM0)\%1KG<>]_<00^57[_T&0=I%SX'AQ,,&Z<;']?,3YL0`+
M&",<$%6#/#1 T?@>$Q@A' F(%(H/H"#"I/B;2#<4$*'-U/:KLSY*K;-)`EOX
M$ EVT?+/DST=3B*T5G -[:SY29PI]=]$@_881E3V^,4?%/L%]Y;%TA_:R!Q4
ML7M$I(R[OPFJA:2>`AM_IL\],R>^/-<K4,>1`D$,O5@XF%?C9A/M2VC(N22A
M:.#3@@PG!%%MBG[$03DJ,<1PJ^& _I(P7*$FP3<6MI 9+Z5#Q8>)"553;1/I
M*W9%>NU9E1<&X:T@+I4Q&L;A2ZC;IM'3SS]EN<BQ1+O&!]1<T+4:%Z\BFRY,
M$RI_9%B='*%69Z9&KO%*H/1TD1\?ES<(#%NOM6K1^W@M`]/?N2-,F?YLT3L^
MW(Q,HU#;S0B883GYI3FH<V\O6;8HHE?8+UOC3BT0!Q+9.IG,OZ_*J^>R+/<`
MA^4U1LU,HW&V-LYT/O'8/X;DM9U"$RQZ6X;G]+Z2!"TTF==N.^W5HE)A^M"6
MWGRXZ+0@V/L_9M&<B*^XJ(LQNP4*%WZL.Y9\0P>JEV=T\EDWWVIUF8UV=LU:
M:!UX-'L*_O[I4;,"5R _\.3,%&IXLMS@3YN5(]+ 40HL,/]KZ\L2(V,"G&D3
M\B:6$Q+X-K"\I02$R=EWGUVM8ZL_PFG;O2)MH6GVKS.$H&>]A)^?!/Z'ZEYE
M'#<-5'D$G QD'>>-*(@R084O(.[BHD>/)P8CM.Z][*0J'P>GSI8N:=OV7M)J
M1$S2_&2!J,K&N2>8<Y,*TVD5<N:[_)S>&JVK0*:?1A%@%60(0RPP@[.X0XMB
MV]L]&F5JTCJ^\ZQOS#<[EA_PSAY*5$M,2R@HF&3X.RSR\6M6159*^+/[IV;N
M]VF'?Y74\J@6XYV$4 88LT\!$AU;*ECD=\@GV^I)8430.5.",Q4IFVX:32]X
MGVO]DG__^-D^-M_.A4(-]PP>F#"22$V\G,B(Z%Z0@@SHY[BG(HM]BG)&:M53
M`([VG$X_)]K$^:)-CG2X*;;6W* G'B]@>OL^-/+%%B=-9TERS>VMAIV7:II^
MD>Z&9,#GJO]G+[=)_?L;=J[1E#5\1\VHUV_8`P^&QU^'*1K]E>ZXJ6)A+E_
M+&S2\B(\E\*>@93/Z_5#U<&_K6NA&E9/`1_F,KYCI8>"VK=O3B*)]&H7"N5E
MS:F_!9+?58(1S*;IS3#0EOE,=JAFY'(Y=W39K)RG;KL(#IB(:Q>#BB EO$K>
M,D.7RABW7,K&/X3(2CBV!22SLB(/"V.H*@PN3EG7^022!+5HB8Y+3?/?\Q2.
MGK4P&3$58_O2S) ZMU(XYX9&[%>S7$2MI*1SF1OX(\??P;69""!#0L++W]G1
MS0`9TBSGQE^RR+7*->H"***/%O;+BZ72CN!(O']V^+A$Q(7$09#?BE*4&+\/
M!SI<^#Z5UW,.;Z5(C*3DW@2$:[$6>?.Q$F4*Z2PL++^9V?8W+Z>?A[!!"B[U
M[!$PNA!_\C>*5Q1U(RBQW$1M+J-,IT#PP,2B4YPJTZ%SA\/O5V&,6!DW;/V>
M^=4J_C@$.*78N'5(`,!:.BU6^V&FS+P@#.$^_T!@D%2&'!O:S+B7'^#6+Z:X
MY*TP=&"^'/B09C_7^&N0EBON"64J4ESW+29-NR_4JI%A!\!N>94N7IP*QJ^>
MTIASOJB>JYFY`VNH)M5V>591Q# J)SU*R2U6+C*7_""[DJBI7LPJP"/ ]2+9
M(%K4@]0!_<B?[\ZS9LK3S,,\FI=;BXAI\ALWV5^J79@L&"KGV?4=AK7AB[\T
MUA15T^EH),U#PRQD+'1@]2;>X4G-EVF)*(L*2 !Q+!W\D0+;'#PF?(5I<Q%#
M$RY]\]9WF23KL\N$T1H06H0QA+A=EV7Q.@2>>!I\F]@J')W^4PW&1E8Z<?YR
MO 2XG;%("-^EK7H63K?'.NZR<\Q]!C\KD2ZXHMD0(?$W+DS>V-(@LSH+BU*"
MZ2W>RY6LC1<PO6::&7QM)/79!J4Z04KKVL^SH:;$&VF[RV(P=VH('\*GZ/W(
M7<+\R5BX0-+>H )1J=T:5A2E&7*E/X0I>%>A"D%AH9Y6P$/<5NRDAEZ/\C
M=F$P[EE9$Y%=K\QSZD]1`KL2JFT2!2U9`,Z3)>^HL#E.*>(5SPZ#;8&6]O/7
M^Z'TKGEWF>RR/RP3@R:#=*2]Y"=Q&8<H(U.2R2+IM\051J!W(PZ8FT[)4<C;
M6)<P=H/J.*19Z@CEA<0K?<0=\5WFMHMJCD_?)?EJ,-%);J94*. ;=-\A+ISZ
M5IK\=\0A*B '4ND[?F1A"&SOKJWKRV#2[" .+F+.`%C-+>G<S.I=5'[)1;LH
M@*36$E!.,X=H=:?L,SQA%@#P>=;#$_75)DQ@$,Q=)HN",F[\6;E+B#1[\;UW
M^EMTK)Q/-X#&$ .V"3S("UE6.5S+.8S?#=F"6S<&6(*--B-;)/NKY(C_FC44
M- DKEIC@P5(T`VN@APPN7J B1O508GAL-%D?WQK)R&OG@NV4-89J*0D=('G)
MBON1[%(\%([6[Z^F&^C.LVJ:GGU6P)Z=]E:4S)LE7J9ATVDZ/5;^&5MX&YD-
M&G X$,4.W5V 9V,.SZ&[F\Z.^<M6)C1O*R8[4VEX@O0QQ(ZY%FKF:Z;[D9R5
ME6*RY:W4WXAU4_A#4^N]S?+&=9Y'"XU4`C>Y+3@*?VDE,N:KE,,[\/RW];Z?
MME3P3AD_>[QWG<$`2^ 0\HD#C:DT$;4ZH 2G^3?-?O@G8!5VOZ\UZG?C!R=>
MUXZ28/G8##AJ2J2#,:(!B5%<6Y&QW!0(J1\(#6XE!AP">2)T'34*$!D=:LD!
M1TZ]:XQ5DY3A39J2I4W]=Z&R4D]N+*O6?+WNI/+*(GK F>;[97]L-GVW\6@B
MJ S+GV-SAL.704=.@P[]N+ 4@$_(=1G[ANK-DR>G*^ZCRO/0M3@YV<9N[
M[!-.L=6RLV:)='';LJ33PJNC$L#.G0K88=VV660M86[>P9G'PB((K'S,QC<J
M%WP7P5G:0@E_$%JM\'%%*%5QL[GQ$J: O57L@+IE$S11_'"%XRX>7#Q3GWXN
MW,?<R0I55CS'V H*Y2^XQ[F:"$L2_*2Y4BN\P-R"$(%5W?(.;56ZA[F];K"8
MV*S3,?S<P'!KMXT4R'E>KP\;R)X.](R-7G1164D%1KAS5'_*/F7;-0'W(*2@
M7&M %R<ZH>R!&-G?7321*509(#!R+(7=[(\W=#Q"T<Y1T%OU8R/UB8D^2:>-
M]MVI"1C&J,G"]_3VIYKUG1SUJSB[%23HR="/-/6_G&X74A_.UJ^P\G,E[6:(
M#.=O'8UBV*MWD1B3BZ.LZ:./X,G.`G-+9L"OYQ';K\P!B<"5#,Z=$0_F5W-T
M/KZB8+^R4Y,:V\&WBLC3K@HE5)P!H7S]EMOUBD&@S*'_!+K-C-E=7@XDZ";.
MIR#ZOB>B>G)PVW. WIYEK/"SP7@ST'8R$';R)=T:,MX+WGCJ?>H&PTIT2N;+
MXD31D)\%&^X2UYT=,9FEZXS':PR@W)S1[_T<25:XCCV%*J PC!%!#.G;)/EA
M/0JX6/67SN^,,WBS]H,ZR3;D"DFM6+B5*M>_72S=N;HOK=W)4BSC698O^(3&
M`^:_I+ -QO"O*#^)S=2X^'E0OXXEE'2P`K%<W0JXC\)5<CG_LJX:SZ12KI*+
M:_FBS4](U_!1^9DVI#O#QC:X026W="Z?-114O=*X&28I7.'F,HXP\([?JO)%
M*Z@2F%1\EC(V3:3V6:ZAR%=9PII=F:=T!=LU0LYKXK.6XGW;:[;:Q-H.<FD_
M\:ZX%Q\ON"\=.::<]$=8J> <\B_NMA1]=QUKI.`04:$,%Q\HC*[O\K.W(O
MFU&?G0\PF,4*5_CNZ'K&VA#//Q#:V<?BFX=@T6M2\Z_;K0H@?3W/KC26EM!.
M>X;)J02&[XRKNI#Z:*I,W*C<SV-&'Z+R%MX/[&*5[#$'&CI9E\$\C38@:9>A
M7-=#*S6!BKQ1QGF]+Q:K?]=8]PR(ZEHV2=H+-$OD]K-%?NTRK!Y3)YRK4;L3
M@U5\< VDJS;3?X>Q8$_=$O$T<A=?&N;X]PQ=K&[4ROAB['/(P:=)USHD(:,^
M:*YDG1YA^\#WGMPT`ZLCEO>&X?*)-H/;\D*1X_[Y[^4FH5F+5.T.*4]$6MI:
MNO,"Q:4617SXS0GL19AJ#-&8W7:%^,:>K'.2LVZO/\*P$G,Y0VVJB XD.]"M
M,,@[9N"N,- [?$!$OU7 5OKF.ALV[7:)VC^ <\$6GRXB!J5">JH=HX47^/P:
M]]K[Z^;]TOH20;%HG1:=87S"]E1AA6[#L JH.G[W76WANB71R-;NY\'O8SHA
MK.)N"N@U]V_P;A!BJ%7)T649Z#W\Y #8C")HE/WM&N'M^_4^]FRM`L4]IHZ/
MZ>JQWGH?7+#)XC\-A:!&DN*AYD@2\JJNDDK^%!::R_[LR2IK'J/8!'6_@2=$
MV_V!,'>Y&&A!?9B@.?O9[WY_@@V1WLF\4+I@$P?D&XB?J:R.^K^8$E%U&3MU
M*$+L\+3'/9Q>W0?!WM5_EN3=*8!%H$B]20<HF*9PO9Q"QO+C#2L^KEH&4?E)
M2P))]<X)A3:1,'E=;H!;/?;KPOD;7[NCF1$(B(FGSI4;6[&@CA]2[@^@-TP\
MV-T$BIT5?L^77B(VP"L766X_=!(\Z*9&2*\E"MU1227D6OK9.?/9J21-I I(
M+U?X44 3[%XHQ6/ =?1[K2@2+1K3R\B?L9!'[_SE6%@2"6 C6V6._A5NYV+%
MWL/E18*$FM I%'_9<G(#) A5`KY [N.5Y885#*]:@N&_5OZY+4G2" S"ED-'
M<7AZJL6<?I.9():1=4=HAR/:#>P3J!(>3 '35G34V"EABRH+&72@8W@XY(I(
M7[X7<@I)S4[%&VB]0Q#!\I&%EIA%Y!I'5NK-Y(JE3G]+4UMO7X]\2VL7MJ5\
M7'0E&'G.LR8KA E?[S.%&W4=.V+.):>3:HC;PGG=.4)4#4Q>4+(K[DR3??BN
MD2=,N3H&V=B(S]?Y1E\&(.D3XTUJ@+L<MQ9PJ'6YAMVC?'EN2E&'"V$)]8P8
MA2/(&C8\V:SGP9?<#IM-X\P:*KQFFM 8$G.C&3C&GB40V)TZ/G?$D<C#SD/J
M>YZ_8%6I%:6FUN;O=";+.U5)5COQX3&V?M"JJA:W)2MK;#<YJG\G!DV0'V]R
M,^<VC-WD!<3D2G%;GE+$&>SJ(^D<89^P7.N <9V&Y%"=TLYM<OLCK?RI:JT+
M2-7_FQE^W()5^<;8M#(=-->Z$&K2;(%CIOO0-P/N0+Q[GHP#G(E!9GP"R#%/
M.BW7"8[5YTB=S&5> -
Need pointers on how to use SQLite in ADF Mobile applications
Hey,
I am trying to develop an ADF mobile App. I am new to ADF mobile. I went through some of the tutorials but still need some clarification on how to use SQLite inside the application. Can i get a Data control out of it? Or is it just to read and write data .
that brings me to the other question, Is the 'demo.db' i.e the db file which represents the Database, supposed to be packaged as a resource with the application?
Pls give me some info abt this.. If you can provide me links with this information, it would be of great help.
Thanks,
JitheshYou can expose a java class containing methods (select, update, ...) as a Data Control.
Yes, you need to add your .db as a resource.
Here a blog post about SQLite in ADF Mobile:
http://adf4beginners.blogspot.be/2013/03/adf-mobile-sqlite-in-adf-mobile.html -
Hi All,
I am new to TestStand. Still in the process of learning it.
What are Parameters? How are they differenet from Variables? Why can't we use variables for passing data from one sequnece to another? What is the advantage of using Parameters instead of Variables?
Thanks in advance,
LaVIEWan
Solved!
Go to Solution.Hi,
Using the Parameters is the correct method to pass data into and out of a sub sequence. You assign your data to be passed into or out of a Sequence when you are in the Edit Sequence Call dialog and in the Sequence Parameter list.
Regards
Ray Farmer
Maybe you are looking for
-
I am trying to run this sample on my machine
I am trying to run this sample on my machine as per the instructions to install the sample in WLISampleUserGuide.pdf. When I go to the step 6 of the installation, I get the following error in the Weblogic Server Console. <Sep 17, 2001 10:47:36 AM GMT
-
(Lengthy question, I know Let me explain.) A few days ago, I decided to clear out the music on my computer. So, I copied everything out of iTunes to my external hard drive (podcasts, music, movies, tv shows, books, and apps) and deleted all that I co
-
hi, I'm using the video chat in ichat via AIM. It was working perfectly last night, now when I call the other person, or they call me ,it says that there was a communication error. The error report lists the following. Any help/suggestions would be g
-
Why does my iphone 3 keep shutting off by itself
my iphone 3 has been shutting off by itself. whenever i use it, a battery appears on the screen showing very little battery life, when it has 100% battery life..when it finally goes back on, a third of the life is gone...doesnt matter whether im tex
-
Hi. I have just experienced a strange and disturbing problem. I have Lightroom 2.5. I have been using LR for about a year, and I have never experienced this problem before. My Dell computer has LR loaded on my C:\ drive. Catalogs are also stored on