• 0
gloufydric

Apple script et message

Question

Bonjour,

J'importe les messages depuis le fichier chat.db de mon mac. Maintenant j'aimerais pourvoir depuis filemaker cliquer sur un message sur mon layout et lancer donc un applescript qui marque comme lu mon message.

Quelqu'un a déjà fait ça ? Quelqu'un aurait une piste ?

 

Merci de votre aide

Cédric

Partager ce message


Lien à poster
Partager sur d’autres sites

5 réponses à cette question

  • 0

bonjour,

quelle(s) table(s) et quelles rubriques as-tu importé ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour,

Sur mon système (obsolète), pas de base de données sqlite du nom de "chat.db".
J'ai donc trouvé sur la toile qque chose qui pourrait en être sa structure.

Je vois donc dans la table "message":

  • la colonne "is_read" (INTEGER DEFAULT 0) que tu cherches à définir à 1
  • la colonne "date_read" (INTEGER) est à mon sens aussi à renseigner… Pour obtenir l'entier désiré il faut soustraire l'horodatage actuel à la référence appelée "CocoaEpoch" introduite depuis iOS5 (càd 2001-01-01 00:00:00) …

Ne sachant pas sur quelle colonne tu bases ta requête pour la mise à jour de l'enregistrement, j'ai délibéremment choisi celle nommée "ROWID" (INTEGER). Libre à toi d'en choisir une autre et d'ajouter à sa valeur les guillemets simples nécessaires si celle-ci (la colonne) devait être de type Texte.

Definir ( [

  folderPath = Citation ("/Volumes/Macintosh HD/Users/gloufydric/Library" ) ; // chemin au dossier contenant la base de données
  dbName = Citation ( "chat.bd" ) ;
  tableName = "message"  ;

  isReadColumnName = "is_read" ;
  isReadValue = 1 ;
  
  dateReadColumnName = "date_read" ;

  requestColumnName = "ROWID" ;
  requestColumnValue = 2 ;

  myQuery = Citation ( "UPDATE " & tableName & " SET " & isReadColumnName & " = " & isReadValue & ", " & dateReadColumnName & " = strftime('%s','now') - strftime('%s','2001-01-01 00:00:00') WHERE " & requestColumnName & " = " & requestColumnValue & ";" )

] ; 

"try¶
	do shell script \"cd\" & space & quoted form of " & folderPath & " & \" && /usr/bin/sqlite3\" & space & quoted form of " & dbName &" & space & quote & " & myQuery & " & quote¶
on error errTxt number errnum¶
	display dialog \"Une erreur \" & errnum & \" est survenue lors de la mise à jour de l'enregistrement.\" & return & errTxt buttons \"OK\" default button 1 with icon 0¶
end try"

)

 

PS: Dans la bdd "chat.db" je n'ai pas trouvé de table "chat_message", mais "chat_message_join"…

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci ça marche ! Ca met bien à jour dans la base de donnée les champs is_read and date_read !

 

Maintenant le badge de messages ne se décréments pas ...

 

Avez-vous une idée de comment faire ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Tu parles du nombre de messages affichés dans la bulle rouge ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.