How do i make a gui to cancel a process
Hello,
I am trying make a traceroute in Java. Since i didn't an API to make things easier on me. I have a class 'Traceroute' like this:
public class Traceroute {
OSstuff OS = new OSstuff();
Process trace;
public Traceroute(){
public List<ResultLine> traceroute(String host,int hops,int timeout){
List<ResultLine> results = new LinkedList<ResultLine>();
try {
if (OS.isWindows()){
Process trace = Runtime.getRuntime().exec("tracert -h " + hops + " -d -w " + timeout + " " + host);
BufferedReader br = new BufferedReader(new InputStreamReader(trace.getInputStream()));
String line;
while((line = br.readLine()) != null) {
if(!line.startsWith(" ")) continue;
//if(line.length() < 32) continue;
StringTokenizer st = new StringTokenizer(line);
if(st.countTokens() != 8 ) {
// ResultLine aux = new ResultLine(); //FIXME:
// results.add(aux);
return null;
String[] tempos = new String[3];
for(int i = 0; i < 3; i++){
st.nextToken();
tempos[i] = st.nextToken();
st.nextToken();
//String gate = st.nextToken();
InetAddress gate = InetAddress.getByName(st.nextToken());
ResultLine tmp = new ResultLine(gate,tempos);
results.add(tmp);
if (OS.isMac() || OS.isLinux()){
Process trace = Runtime.getRuntime().exec(new String[]{"traceroute", "-m", "30", "-n", "-w", "2", host});
BufferedReader br = new BufferedReader(new InputStreamReader(trace.getInputStream()));
String line;
while((line = br.readLine()) != null) {
if(line.indexOf("*") != -1) continue;
//final String ip = line.substring(4, line.indexOf(" ", 4)).trim();
//results.add(ip);
if (OS.OStype==OS.OTHER){
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
return results;
public void kill(){
trace.destroy();
}And calling the traceroute method in my GUIMain class when the "Traceroute" button is pressed, here is the event code:
private void runButtonActionPerformed(java.awt.event.ActionEvent evt) {
//TODO
List<ResultLine> res;
resultArea.setText("");
cancelButton.setEnabled(true);
if (targetField.getText().isEmpty())
targetField.setText("localhost");
res = TR.traceroute(targetField.getText(), Settings.hops, Settings.waitTime);
if (res == null)
resultArea.append("Error");
StringBuilder s = new StringBuilder();
for(ResultLine r : res){
s.append(r.toString());
s.append("\n");
resultArea.setText(s.toString());
cancelButton.setEnabled(false);
}As it is, when the traceroute button is mpressed the program waits for the process to end and you never get to cancel the trace.
I would like help in creating a new thread (i think that this is what i need) just to run the trace process and kill the thread when either it finishes or the stop button is pressed.
PS, if some one can help me with the //FIXME on the traceroute class i would appreciate it. When ever the request exceeds the wait time the results list comes back 'null'
PS#2: I am still working on the Mac OS and Linux parts, they still need parametrization and parsing.
Edited by: Forkaster on Dec 1, 2007 11:35 AM
Oh, I didn't notice that it was another example of the most recurring question on Java GUI! Here's the idiom:
private void runButtonActionPerformed(java.awt.event.ActionEvent evt) {
final List<ResultLine> res;
resultArea.setText("");
cancelButton.setEnabled(true);
if (targetField.getText().isEmpty()){
targetField.setText("localhost");
Thread t = new Thread(new Runnable(){
public void run(){
String str = "";
res = TR.traceroute
(targetField.getText(), Settings.hops, Settings.waitTime);
if (res == null){
str = "Error";
else{
StringBuilder s = new StringBuilder();
for (ResultLine r : res){
s.append(r.toString());
s.append("\n");
str = s.toString();
SwingUtilities.invokeLater(new Runnable(){
public void run(){
resultArea.setText(str);
cancelButton.setEnabled(false);
t.start();
}
Similar Messages
-
How will u make the file not to be process by other?
how will u make the file not to be process by other? thanq
Hi Krishna,
File locking is not supported.
Look at the OSS note 821267 for File Locking / Incomplete Processing.
Regards
San
Remember to set the thread to solved when you have received a solution there is a Way. -
How to make a GUI java portlet?
how can i make a Gui java portlets with JDeveloper?
Check out the Portal Development Kit (PDK) available at http://portalstudio.oracle.com/
Hope this helps,
Rob -
We intended on purchasing CS6; not CC. How do we make the change?
We intended on purchasing CS6; not CC. How do we make the change?
Cancel http://helpx.adobe.com/x-productkb/policy-pricing/return-cancel-or-change-order.html
-or by telephone http://helpx.adobe.com/x-productkb/global/phone-support-orders.html
Buy CS6 Creative Suite 6 -
How to make simple GUI application that use oracle 9i intermedia
Mr Lawrence,
i want to make a GUI application for storing and retrieving image data, can i build this application using delphi?
i try using borland delphi 7, but delphi doesnt know object type ORDImage and ORDImageSignature. do u have any reference about building GUI application??
I want my application can do inserting image into database, searching image by matching it's signature, make image signature for query image, displaying image, etc.
Or if i can't make this application using delphi, maybe u can give me another application developer beside Delphi.
Please help Mr Lawrence, i'm stuck (T_T)I am not too familiar with Delphi.
If it does Object-Relational types, that could work.
Can it interface with PL/SQL procedures? If so, that would be the way to go.
That is what I have done with .NET applications.
Larry -
hello,
well i want to make this gui using awt
threre are three fields name,address,salary
i want these three fields data in the textfield array
like this
here name,addres and salary are labels.
and name has a textfield array
address has a textfield array
salary has a textfield array
and these textfield should come as shown below
name textfield should have indiual coloumn,same for address,and salary
name address salary
Textfield TextField TextField
TextField TextField TextField
please help in layout i have the code and no of textfields to come on screen according to lines in textfile.
just help in layout
should i take three panels and add them in east,centre and west.
if this please give me the stepd to do it.
shashankhttp://java.sun.com/docs/books/tutorial/uiswing/layout/index.html
-
How can we make the save button active in standard toolbar in outout of alv
Hi experts ,
I am using factory method to print alv with oops .
Cancel , Exit and Back button are active by default in Standard tool bar in output of Report , But Save button is not active , How can i make that save button active .
Also Pls tell me how i can make editable to the cell in output ,
My Code is like this :
cl_salv_table=>factory( IMPORTING r_salv_table = gr_table CHANGING t_table = ispfli ).
gr_functions = gr_table->get_functions( ).
gr_functions->set_all( abap_true ).
gr_display = gr_table->get_display_settings( ).
gr_display->set_striped_pattern( cl_salv_display_settings=>true ).
gr_display->set_list_header( 'This is the heading' ).
gr_columns = gr_table->get_columns( ).
gr_column ?= gr_columns->get_column( 'CITYTO' ).
gr_column->set_long_text( 'This is long text' ).
gr_column->set_medium_text( 'This is med text' ).
gr_column->set_short_text( 'This is sh' ).
gr_column ?= gr_columns->get_column( 'CITYFROM' ).
color-col = '6'.
color-int = '1'.
color-inv = '0'.
gr_column->set_color( color ).
gr_sorts = gr_table->get_sorts( ).
*gr_sorts->add_sort( 'CITYTO' ).
gr_sorts->add_sort( columnname = 'CITYTO' subtotal = abap_true ).
gr_agg = gr_table->get_aggregations( ).
gr_agg->add_aggregation( 'DISTANCE' ).
gr_filter = gr_table->get_filters( ).
gr_filter->add_filter( columnname = 'CARRID' low = 'DL' ).
gr_layout = gr_table->get_layout( ).
gr_layout->set_key( key ).
key-report = sy-repid.
gr_layout->set_save_restriction( cl_salv_layout=>restrict_none ).
gr_table->display( ).
Rgds,
PremrajHi,
1)you need to give the function code to that save in the Function Keys of that screen from the GUI Status.
2) while filling the field catalog of that field you need to put the
wa_fieldcat_edit-edit = c_x.
i.e use the edit and append to that field catalog internal table.
for more infomation you can refer to below links:
problem with alv edit and save
*Edit* and *Save* for the selected records in ALV
solves your problem
Thanks!! -
How can I make a FlashAlbumExporter background transparent?
I really like the very cool FAE (as suggested on this most excellent forum) but the gui offers no choice as for background opacity. A little search on the net reveals a few ideas but none of them seem to work. I am using the following iframe code in iWeb:
<iframe src=
"http://www.bostruyephotos.com/Paso_Robles/index.html"
style="width:1000px; height:900px;
border-width:0px;
border-color:#990033;
border-style:solid;"
scrolling="auto" >
</iframe>
I don't know if the bg transparency is controlled in this iframe code, in the index.html file created by FAE or in the xml file created by FAE. So far I have tried:
Remove the background-color: #181818; from the index.html didn't make any difference.
Adding <bgcolor transparency="0"> in the xml made simpleviewer not display at all.
Another web site was discussing using html in the HTML snippet widget instead of iframe and it seems to address the transparency issue. But it seems rather old and is setup to use a movie instead of a photo album so I'm not sure how to convert it. Here is that code:
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#v ersion=6,0,40,0"
WIDTH="700" HEIGHT="700" id="MyMovieName">
<PARAM NAME=movie VALUE="MyFlashMovie.swf">
<param name="wmode" value="transparent">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=base VALUE=".">
<EMBED src="MyFlashMovie.swf" quality=high WIDTH="700" HEIGHT="700"
NAME="MyMovieName" ALIGN="" TYPE="application/x-shockwave-flash" wmode="transparent" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" base=".">
</EMBED>
</OBJECT>
Any idea how I can make this bg transparent so my bg will show behind the photos instead of the default dark grey?
The current version is here in case that helps:
http://www.bostruyephotos.com/Gallery/Cruising.html
Thanks for any help.
BoIf that's what you're doing, then just turn off the visibility of the layer that you made the selection on - most likely the BG layer by clicking on the eye icon in the layer's pallet. You change the bg layer, as I mentioned above, and after you make your selection, click on the add layer mask icon in the layer's pallet, This will add a layer mask with your selection. If you hold alt/opt while doing this, it will create a inverse layer mask.
-
How do I make new tabs from a first window go behind instead of in front of the first window?
I use the same version of Firefox at work & new tabs open "behind" the initial tab, I can't figure out how to make this happen on my home computer! At home, new tabs open "in front" of the initial tab & it's really frustrating!
Extract code into methods, so that when an action is performed a method is called. That way you can reuse the method for purposes such as resetting textfields to their default values, scores to default values, etc.
You can go one step further and seperate the GUI layer from the processing layer, by deriving classes that for example maintain and calculate a score.
Mel -
How can i make save button of a pop up window inactive?
Hi...
When we open a document attached to an opportunity,
a pop up opens up in new window with open,save and cancel buttons.
The document is opened by creating a url....
How can i make the save button inactive?
Any helpful pointers would be rewarded...
Thanks...Hi..
This thread remains closed... -
How do you make an array of image icons and then call them?
How do you make an array of image icons and then call them, i have searched all over the internet for making an array of icons, but i have
found nothing. Below is my attempt at making an array of icons, but i cant seem to make it work. Basically, i want the image to match the value of the roll of the dice (rollVal)
Any help would be greatly appreciated, some code or link to tuturial, ect.
/** DiceRoller.java
* Roll, print, Gui
import javax.swing.*;
public class DiceRoller extends JFrame
private ImageIcon[] image ;
public String[] images = { "empty", "dice1.jpg",
"dice2.jpg", "dice3.jpg", "dice4.jpg",
"dice5.jpg", "dice6.jpg" };
public Dice die;
private int rollVal;
public int rollNum;
private JLabel j1;
public DiceRoller(){
j1= new JLabel("");
die =new Dice();
int rollVal;
rollVal = die.roll();
image = new ImageIcon[images.length];
for(int i = 0; i < images.length; i++){
image[i] = new ImageIcon(images);
if (image!=null){
j1.setIcon(image[rollVal]);
System.out.println("Roll = "+die.roll());Demo:
import java.awt.*;
import java.net.*;
import javax.swing.*;
public class IconExample {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable(){
public void run() {
launch();
static void launch() {
try {
Icon[] icons = new Icon[6];
for(int i=0; i<icons.length; ++i) {
String url = "http://www.eureka-puzzle.be/cast/images/dice" + (i + 1) + ".jpg";
icons[i] = new ImageIcon(new URL(url));
display(icons);
} catch (MalformedURLException e) {
throw new RuntimeException(e);
static void display(Icon[] icons) {
JPanel cp = new JPanel();
for(Icon icon : icons) {
cp.add(new JLabel(icon));
JFrame f = new JFrame();
f.setContentPane(cp);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
} -
I have 6 ios devices. When i got icloud, all the information merged together. How do i make it go to how i had it before.
"Method Three
Create a separate iTunes library for each device. Note:It is important that you make a new iTunes Library file. Do not justmake a copy of your existing iTunes Library file. If iTunes is open,quit it.
This one may work. I searched and searched on the website for something like this, I guess I just didn't search correctly, lol. I will give this a try later. My daughter is not be back for a few weekends, therefore I will have to try the Method 3 when she comes back for the weekend again. "
I forgot to mention that she has a PC at her house that she also syncs to. Would this cause a problem. I am already getting that pop up saying that the iPod is synced to another library (even though she is signed in with her Apple ID to iTunes) and gives the pop up to Cancel, Erase & Sync, or Transfer Purchases. My question arose because she clicked on "Erase & Sync" by mistake when she plugged the iPod to her PC the first time. When the iPod was purchased and setup, it was synced to my PC first. When she went home, she hooked it up to her PC and then she erased it by accident. I was able to restore all the missing stuff yesterday using my PC. However, even after doing that it still told me the next time I hooked it up last night that the iPod was currently synced with a different library. Hopefully, you can help me understand all this. She wants to sync her iPod and also backup her iPod at both places. Both PCs have been authorised. Thanks -
How can I make iTunes sort on the first word by default, even though that word is "The" or "A"?
I myself think that (for instance) "A tribe called Quest" should be sorted under "A", not "T".
Now I can edit the sort options manually per track and/or per selection, but I would really like to just kill this "iTunes-knows-how-you-should-sort"-feature in iTunes.
Anyone any suggestion on how to do that?
ThanksHere is a modified version of one of Doug's Scripts. My modification was to add Sort Name to the list of tags that could be changed. I tried it on a single track and it worked. I recommend backing up your library first. Select the tracks you want to change (or all tracks) and run the script from the Applescript Editor. If it works as intended, save it so you can apply it to newly imported tracks. And, yes, I know this isn't the exact answer to your question, you want to change a preference setting in iTunes (if there is such a setting).
Original script can be forund at http://dougscripts.com/itunes/scripts/ss.php?sp=thistagthattag
Modified script is below. Start up Applescript Editor, paste it into a new window. Start up iTunes and select the tracks to modify. Click Run in the Applescript Editor. Follow the instructions.
(* Put This In That
v2.0 april 22 2008
- runs as universal binary
- adds "Show" tag
- consolidated code
- saved as script bundle
v1.7 October 3, 2006
- adds "Album Artist" as option
v1.6 October 28, 2004
- works around iTunes 4.7 selection bug
v1.5 ('04/1)-- adds "grouping" tag
Get more free AppleScripts and info on writing your own
at Doug's AppleScripts for iTunes
http://dougscripts.com/itunes/
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Get a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
or visit http://www.gnu.org/copyleft/gpl.html
-- CONSTANTS
property allOptions : {"Song Name", "Artist", "Album", "Album Artist", "Composer", "Genre", "Comments", "Show", "Grouping", "Sort Name"}
property my_title : "Put This In That"
global thisTag, thatTag, theNewTags, theOriginalTags, yn
tell application "iTunes"
if selection is not {} then -- if tracks are selected...
set sel to selection
set numTracks to (length of sel)
set s to "s"
if numTracks is 1 then set s to ""
display dialog "The data from one tag REPLACES the data in another tag in all the selected tracks, with option to delete data in first tag." & return & return & (numTracks & " track" & s & " selected.") buttons {"Cancel", "Continue"} default button 2 with title my_title giving up after 30
if gave up of result is true then return
my choose_this_tag()
my choose_that_tag()
set yn to (button returned of (display dialog "Delete data in " & thisTag & " afterwards?" buttons {"Yes", "No"} default button 2 with title my_title giving up after 45) is "Yes")
set oldfi to fixed indexing
set fixed indexing to true
repeat with t from 1 to numTracks
tell contents of item t of sel
set theOriginalTags to {get name, get artist, get album, get album artist, get composer, get genre, get comment, get show, get grouping, get sort name}
set theNewTags to theOriginalTags
my do_put()
set {name, artist, album, album artist, composer, genre, comment, show, grouping, sort name} to theNewTags
end tell
end repeat
set fixed indexing to oldfi
else
display dialog "No tracks have been selected." buttons {"Cancel"} default button 1 with icon 0 giving up after 30
end if -- no selection
end tell
to choose_this_tag()
tell application "iTunes"
set n to (choose from list allOptions with prompt ("Select a tag to get data from:") with title my_title)
if n is false then error number -128
set thisTag to (n as text)
end tell
end choose_this_tag
to choose_that_tag()
set o to {}
repeat with t in allOptions
if (t as text) is not thisTag then copy t to end of o
end repeat
tell application "iTunes"
set n to choose from list o with prompt ("Use data from the " & thisTag & " tag to REPLACE data in...") with title my_title
if n is false then error number -128
set thatTag to n as text
end tell
end choose_that_tag
to do_put()
try
repeat with i from 1 to (length of allOptions)
if thisTag is (item i of allOptions) then
set thisTag_sto to (item i of theOriginalTags)
exit repeat
end if
end repeat
repeat with i from 1 to (length of allOptions)
if thatTag is (item i of allOptions) then
set (item i of theNewTags) to thisTag_sto
exit repeat
end if
end repeat
if yn then
repeat with i from 1 to (length of allOptions)
if thisTag is (item i of allOptions) then
set (item i of theNewTags) to ""
exit repeat
end if
end repeat
end if
end try
end do_put -
How can I make the data persistent when using plist ?
I have a UITableView table1. And when I touch any cell in the table a new UIViewController appears and it have two UITextField's name and description. After entering the data in both the text fields I used the save button to save them. In save method I wrote the code for the data to be stored in plist.
-(void)save:(id)sender
indexOfDataArray = temp;
NSString *string1 = [[NSString alloc]init];
NSString *string2 = [[NSString alloc]init];
string1 = nameField.text;
string2 = descriptionField.text;
NSDictionary *myDict = [[NSDictionary alloc] initWithObjectsAndKeys:string2, string1, nil];
[myArray addObject:myDict];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"VideoData.plist"];
[myArray writeToFile:path atomically:YES];
UIAlertView *alertMesage = [[UIAlertView alloc] initWithTitle: @"Save Alert" message:@"The data entered is saved" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:nil] ;
[alertMesage show];
[alertMesage release];
[myArray retain];
But the problem is every time I restart my application the data in the plist is deleted. How can I retain the data in the plist name I specified ?I think yes, I am specifying only one file name to store in the path. I understood my where I am wrong.
If I added data in plist for two items(item1 and item2). And again I need to add next two items(item3 and item4) . How can I make item3 and item 4 do not replace item1 and item2 ?
Thank You. -
How can i make the text go vertically in numbers
How can I make the text vertical in numbers? I have merged the cells and cannot find an option for making it go vertical as opposed to horizontal.
I already gave two tools to fit this kind of needs.
tip #1 :
--{code}
--[SCRIPT write_vertically]
Enregistrer le script en tant que Script : write_vertically.scpt
déplacer le fichier ainsi créé dans le dossier
<VolumeDeDémarrage>:Utilisateurs:<votreCompte>:Bibliothèque:Scripts:Applications :Numbers:
Il vous faudra peut-être créer le dossier Numbers et peut-être même le dossier Applications.
Saisir dans une cellule le mot à écrire verticalement puis le sélectionner.
ATTENTION, il ne faut pas sélectionner la cellule mais le mot qui doit apparaitre surligné.
Aller au menu Scripts , choisir Numbers puis choisir “write_vertically”
Le script colle dans la cellule le mot apès avoir inséré un return entre tous les caractères.
Pour mon usage personnel j'associe un raccourci à ce script grace à FastScripts.
--=====
L’aide du Finder explique:
L’Utilitaire AppleScript permet d’activer le Menu des scripts :
Ouvrez l’Utilitaire AppleScript situé dans le dossier Applications/AppleScript.
Cochez la case “Afficher le menu des scripts dans la barre de menus”.
Sous 10.6.x,
aller dans le panneau “Général” du dialogue Préférences de l’Éditeur Applescript
puis cocher la case “Afficher le menu des scripts dans la barre des menus”.
--=====
Save the script as a Script: write_vertically.scpt
Move the newly created file into the folder:
<startup Volume>:Users:<yourAccount>:Library:Scripts:Applications:Numbers:
Maybe you would have to create the folder Numbers and even the folder Applications by yourself.
In a cell, type a word to write vertically then select it.
CAUTION, don’t select the cell but the word which must be highlighted.
Go to the Scripts Menu, choose Numbers, then choose “write_vertically”
The script insert in the cell the word after inserting a return between every characters.
For my own use, I link a shortcut to the script thank to FastScripts.
--=====
The Finder’s Help explains:
To make the Script menu appear:
Open the AppleScript utility located in Applications/AppleScript.
Select the “Show Script Menu in menu bar” checkbox.
Under 10.6.x,
go to the General panel of AppleScript Editor’s Preferences dialog box
and check the “Show Script menu in menu bar” option.
--=====
Yvan KOENIG (VALLAURIS, France)
2011/12/17
2012/01/01 no longer use a local variable, use result
--=====
on run
Clear the clipboard *)
set the clipboard to ""
Copy the selection in the clipboard *)
my raccourci("Numbers", "c", "c")
Loop waiting that the clipboard is really filled *)
repeat
try
if (the clipboard as text) is not "" then exit repeat
on error
end try
end repeat
Extract the clipboard's content *)
the clipboard as text
Insert return between every characters *)
my recolle(every character of result, return)
Fill the clipboard with the edited string *)
set the clipboard to result
Paste in the cell *)
my raccourci("Numbers", "v", "cas")
end run
--=====
on recolle(l, d)
local oTIDs, t
set oTIDs to AppleScript's text item delimiters
set AppleScript's text item delimiters to d
set t to l as text
set AppleScript's text item delimiters to oTIDs
return t
end recolle
--=====
on activateGUIscripting()
(* to be sure than GUI scripting will be active *)
tell application "System Events"
if not (UI elements enabled) then set (UI elements enabled) to true
end tell
end activateGUIscripting
--=====
==== Uses GUIscripting ====
This handler may be used to 'type' text, invisible characters if the third parameter is an empty string.
It may be used to 'type' keyboard raccourcis if the third parameter describe the required modifier keys.
I changed its name « shortcut » to « raccourci » to get rid of a name conflict in Smile.
on raccourci(a, t, d)
local k
tell application a to activate
tell application "System Events" to tell application process a
set frontmost to true
try
t * 1
if d is "" then
key code t
else if d is "c" then
key code t using {command down}
else if d is "a" then
key code t using {option down}
else if d is "k" then
key code t using {control down}
else if d is "s" then
key code t using {shift down}
else if d is in {"ac", "ca"} then
key code t using {command down, option down}
else if d is in {"as", "sa"} then
key code t using {shift down, option down}
else if d is in {"sc", "cs"} then
key code t using {command down, shift down}
else if d is in {"kc", "ck"} then
key code t using {command down, control down}
else if d is in {"ks", "sk"} then
key code t using {shift down, control down}
else if (d contains "c") and (d contains "s") and d contains "k" then
key code t using {command down, shift down, control down}
else if (d contains "c") and (d contains "s") and d contains "a" then
key code t using {command down, shift down, option down}
end if
on error
repeat with k in t
if d is "" then
keystroke (k as text)
else if d is "c" then
keystroke (k as text) using {command down}
else if d is "a" then
keystroke k using {option down}
else if d is "k" then
keystroke (k as text) using {control down}
else if d is "s" then
keystroke k using {shift down}
else if d is in {"ac", "ca"} then
keystroke (k as text) using {command down, option down}
else if d is in {"as", "sa"} then
keystroke (k as text) using {shift down, option down}
else if d is in {"sc", "cs"} then
keystroke (k as text) using {command down, shift down}
else if d is in {"kc", "ck"} then
keystroke (k as text) using {command down, control down}
else if d is in {"ks", "sk"} then
keystroke (k as text) using {shift down, control down}
else if (d contains "c") and (d contains "s") and d contains "k" then
keystroke (k as text) using {command down, shift down, control down}
else if (d contains "c") and (d contains "s") and d contains "a" then
keystroke (k as text) using {command down, shift down, option down}
end if
end repeat
end try
end tell
end raccourci
--=====
--[/SCRIPT]
--{code}
tip #2 :
--{code}
--[SCRIPT rotate_cell_contents]
Enregistrer le script en tant que Script : rotate_cell_contents.scpt
déplacer le fichier ainsi créé dans le dossier
<VolumeDeDémarrage>:Users:<votreCompte>:Library:Scripts:Applications:Numbers:
Il vous faudra peut-être créer le dossier Numbers et peut-être même le dossier Applications.
Sélectionner une cellule dont le texte doit être tourné de 90 degrés.
Aller au menu Scripts , choisir Numbers puis choisir “rotate_cell_contents”
--=====
L’aide du Finder explique:
L’Utilitaire AppleScript permet d’activer le Menu des scripts :
Ouvrez l’Utilitaire AppleScript situé dans le dossier Applications/AppleScript.
Cochez la case “Afficher le menu des scripts dans la barre de menus”.
Sous 10.6.x,
aller dans le panneau “Général” du dialogue Préférences de l’Éditeur Applescript
puis cocher la case “Afficher le menu des scripts dans la barre des menus”.
--=====
Save the script as a Script: rotate_cell_contents.scpt
Move the newly created file into the folder:
<startup Volume>:Users:<yourAccount>:Library:Scripts:Applications:Numbers:
Maybe you would have to create the folder Numbers and even the folder Applications by yourself.
Select a cell whose contents must be rotated for 90 degrees.
Go to the Scripts Menu, choose Numbers, then choose “rotate_cell_contents”
--=====
The Finder’s Help explains:
To make the Script menu appear:
Open the AppleScript utility located in Applications/AppleScript.
Select the “Show Script Menu in menu bar” checkbox.
Under 10.6.x,
go to the General panel of AppleScript Editor’s Preferences dialog box
and check the “Show Script menu in menu bar” option.
--=====
Yvan KOENIG (VALLAURIS, France)
2011/06/23
2011/06/26 -- No longer use an auxiliary text box. Now keep the text attributes.
2012/01/31 -- edited for Lion
--=====
on run
local dName, sName, tName, rowNum1, colNum1, rowNum2, colNum2
local le_texte, la_largeur, la_hauteur, myNewDoc
my activateGUIscripting()
Extract properties of the source/target cell *)
set {dName, sName, tName, rowNum1, colNum1, rowNum2, colNum2} to my get_SelParams()
tell application "Numbers" to tell document dName to tell sheet sName to tell table tName
set selection range to range (name of column colNum1 & name of row rowNum1)
end tell
Cut*)
my raccourci("Numbers", "x", "c")
Trigger Preview *)
tell application "System Events"
if "Preview" is not in (name of every application process) then launch application "Preview"
end tell
delay 0.2 -- required
New document from the clipboard *)
my raccourci("Preview", "n", "c")
Rotate to left *)
my raccourci("Preview", "l", "c")
Copy *)
my raccourci("Preview", "c", "c")
Quit *)
my raccourci("Preview", "q", "c")
(system attribute "sys2") < 7
if result then
Click the [Don't Save] button in the warning sheet *)
tell application "Preview" to activate
tell application "System Events" to tell application process "Preview" to tell window 1
name of buttons
repeat 50 times
delay 0.1
if exists sheet 1 then exit repeat
end repeat
tell sheet 1 to click button 2
end tell
end if
Back to Numbers *)
tell application "Numbers" to tell document dName to tell sheet sName to tell table tName
-- just reset the focus on the table
end tell
Paste in the cell *)
my raccourci("Numbers", "v", "c")
end run
--=====
set { dName, sName, tName, rowNum1, colNum1, rowNum2, colNum2} to my get_SelParams()
tell application "Numbers" to tell document dName to tell sheet sName to tell table tName
on get_SelParams()
local d_name, s_name, t_name, row_num1, col_num1, row_num2, col_num2
tell application "Numbers" to tell document 1
set d_name to its name
set s_name to ""
repeat with i from 1 to the count of sheets
tell sheet i to set maybe to the count of (tables whose selection range is not missing value)
if maybe is not 0 then
set s_name to name of sheet i
exit repeat
end if -- maybe is not 0
end repeat
if s_name is "" then
if my parleAnglais() then
error "No sheet has a selected table embedding at least one selected cell !"
else
error "Aucune feuille ne contient une table ayant au moins une cellule sélectionnée !"
end if
Maybe you are looking for
-
Looking for a free iPod to iTunes music transfer utility, any suggestions
Looking for a FREE utility that will allow me to transfer music from my iPod to my iTunes. I recently purchased a new notebook PC that I recently download a fgresh installation of iTunes. Now I need to transfer my music stored in my iPod to iTunes. I
-
All of a sudden my work computer and my home computer will not burn disks in IDVD?
-
hi there, i need to get my servlet (dataBeanLoader) to create some class object, that creates a data bean. this bean needs to be used by other JSP(application scope) I have something like: MyBean mb = new MyBean() mb.setSomething(vrednost1); getServl
-
[Solved] everytime when i restart my computer volume mutes
i didnt have this problem in kdemod. now in gnome, when i unmute volumes, and log out volumes saves, but when i restart pc they reset to mute. Last edited by syms (2009-01-19 13:21:23)
-
New itunes version no help. It appears perhaps that a hardware conflict is in place with AnyDVD. Anyway around this without removing AnyDVD?